Cod sursa(job #125925)

Utilizator bogdan2412Bogdan-Cristian Tataroiu bogdan2412 Data 20 ianuarie 2008 21:23:40
Problema Xerox Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#include <string.h>

#define MAXN 128
#define MAXM 205

int N, DX, DY;
int nr[MAXN];

int sg[MAXM];
char used[MAXM];

int main()
{
	freopen("xerox.in", "rt", stdin);
	freopen("xerox.out", "wt", stdout);

	sg[0] = 0;
	for (int i = 1; i < MAXM; i++)
	{
		memset( used, 0, sizeof(used) );

		for (int k = 1; k <= i; k++)
			for (int a = 0; a <= i - k; a++)
				used[ sg[a] ^ sg[ i - k - a ] ] = 1;

		for (int k = 0; k < MAXM; k++)
			if (!used[k])
			{
				sg[i] = k;
				break;
			}
	}

	int T;
	for (scanf("%d", &T); T; T--)
	{
		int N, DX, DY;
		scanf("%d %d %d", &N, &DX, &DY);

		int XOR = 0;
		for (int i = 0; i < N; i++)
		{
			scanf("%d", nr + i);
			for (int j = 0; j < nr[i]; j++)
				scanf("%*d %*d");
			XOR ^= sg[ nr[i] ];
		}
		if (XOR == 0)
			printf("%d\n", 0);
		else
			printf("%d\n", 1);
	}
	return 0;
}