Cod sursa(job #127959)

Utilizator a7893Nae Mihai a7893 Data 25 ianuarie 2008 16:20:42
Problema Xerox Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<stdio.h>
#include<string.h>
#define N 101
int t,n,v[N],a[N][9],ics[9],sol;
void afis()
{
	int i,j;
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=a[i][0];j++)
			printf("%d",a[i][j]);
		printf("\n");
	}
}
void binar(int c,int b[N])
{
	int k=0;
	while(c)
	{
		b[++k]=c%2;
		c/=2;
	}
	b[0]=k;
}
int maxim()
{
	int i,max;
	max=a[1][0];
	for(i=1;i<=n;i++)
		if(a[i][0]>max)
			max=a[i][0];
	return max;
}		
void init()
{
	memset(v,0,sizeof(v));
	memset(a,0,sizeof(a));
	memset(ics,0,sizeof(ics));
}
void read_solve()
{
	int i1,i,j,dx,dy,xi,yi,max;
	scanf("%d",&t);
	for(i1=1;i1<=t;i1++)
	{
		scanf("%d%d%d",&n,&dx,&dy);
		init();
		for(i=1;i<=n;i++)
		{
			scanf("%d",&v[i]);
			for(j=1;j<=v[i];j++)
				scanf("%d%d",&xi,&yi);
		}
		for(i=1;i<=n;i++)
			binar(v[i],a[i]);
		//afis();
		max=maxim();
		for(j=1;j<=max;j++)
		{
			ics[j]=a[1][j];
			for(i=2;i<=n;i++)
				if(ics[j]==a[i][j])
					ics[j]=0;
				else
					ics[j]=1;
		}
		sol=0;
		for(i=1;i<=max;i++)
			if(ics[i]==1)
				sol=1;
		printf("%d\n",sol);
	}
}
int main()
{
	freopen("xerox.in","r",stdin);
	freopen("xerox.out","w",stdout);
	read_solve();
	return 0;
}