pku1265.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 47 行

CPP
47 行
字号
#include <stdio.h>

int gcd(int a, int b)
{
	if (a < b)
	{
		a = a + b;
		b = a - b;
		a = a - b;
	}

	while (b != 0)
	{
		a = a % b;

		a = a + b;
		b = a - b;
		a = a - b;
	}
	
	return a;
}

int main()
{
	int x, y, i, j, k, dx, dy;
	int t, n, n_edge, T;
	int s;

	scanf("%d", &T);
	for (t = 1; t <= T; t++)
	{
		scanf("%d", &n);
		s = 0, n_edge = 0;
		for (i = 0; i < n; i++)
		{
			scanf("%d%d", &dx, &dy);
			n_edge += gcd(abs(dx), abs(dy));
			s += x * (y + dy) - y * (x + dx);
			x += dx;
			y += dy;
		}
		printf("Scenario #%d:\n%d %d %.1lf\n\n", t, (s - n_edge) / 2 + 1, n_edge, s / 2.0);
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?