Cod sursa(job #360431)

Utilizator Abi79Iordache Albert Abi79 Data 31 octombrie 2009 14:58:03
Problema Xerox Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <cstdio>
#include <algorithm>

using namespace std;

FILE *f,*s;

int t,n,v[105],aux,mat[105][105],maxim,nr,i,j,k;

int main()
{
	f=fopen("xerox.in","r");
	s=fopen("xerox.out","w");
	
	fscanf(f,"%d",&t);
	
	while(t--)
	{
		fscanf(f,"%d %d %d",&n,&aux,&aux); //just n
		if(n==1)
			fprintf(s,"1\n");
		else
		{
			for(i=1;i<=n;i++)
			{
				fscanf(f,"%d",&v[i]);
				for(j=1;j<=v[i];j++)  //ignore
					fscanf(f,"%d %d",&aux,&aux);  //ignore
			}
			if(n==2)
			{
				if(v[1]!=v[2])
					fprintf(s,"1\n");
				else
					fprintf(s,"0\n");
			}
			else
			{
				maxim=0;
				for(i=1;i<=n;i++)
				{
					mat[i][0]=0;
					while(v[i])
					{
						mat[i][++mat[i][0]]=v[i]%2;
						v[i]/=2;
					}
					maxim=max(maxim,mat[i][0]);
				}
				while(maxim)
				{
					nr=0;
					for(j=1;j<=n;j++)
						if(mat[j][maxim]==1)
							nr++;
					if(nr%2)
					{
						fprintf(s,"1\n");
						
						break;
					}
					maxim--;
				}
				if(maxim==0)
					fprintf(s,"0\n");
			}
		}
			
	}
	
	fclose(s);
	return 0;
}