Cod sursa(job #18138)

Utilizator supernovaMihai Pantis supernova Data 18 februarie 2007 10:01:28
Problema Amlei Scor 100
Compilator c Status done
Runda preONI 2007, Runda 2, Clasa a 9-a si gimnaziu Marime 0.97 kb
#include <stdio.h>

int a[200000],b[200000];
int lim=197893;
int sum,nr;

int main(void)
{
	int i,n,n1,n2,j,x,k,vf;
	FILE *f=fopen("amlei.in","r");
	FILE *fout=fopen("amlei.out","w");

	while(!feof(f))
	{
		for(i=0;i<lim;i++) { a[i]=b[i]=0;}
		n=-1;
		fscanf(f,"%d %d %d",&n,&n1,&n2);
		if(n==-1) break;
		for(i=0;i<n1;i++)
		{
			sum=0;
			for(j=0;j<n;j++)
			{
				fscanf(f,"%d",&x);
				nr=1;
				if(x<0) nr=0;
				else for(k=1;k<x;k++)
				{
					nr*=2;
					nr%=lim;
				}
				sum+=nr;
				sum%=lim;
			}
			a[sum]=1;		
		}

		for(i=0;i<n2;i++)
		{
			sum=0;
			for(j=0;j<n;j++)
			{
				fscanf(f,"%d",&x);
				nr=1;
				if(x<0) nr=0;
				else for(k=1;k<x;k++)
				{
					nr*=2;
					nr%=lim;
				}
				sum+=nr;
				sum%=lim;
			}
			b[sum]=1;
		}
		vf=1;
		for(i=0;i<lim;i++)
			if(a[i]!=b[i]) { vf=0; break;}
		if(vf) fprintf(fout,"%s\n","DA");
		else fprintf(fout,"%s\n","NU");
	}
	fclose(f);fclose(fout);
	return 0;
}