Cod sursa(job #18415)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 18 februarie 2007 12:04:51
Problema Amlei Scor 100
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasa a 10-a Marime 0.95 kb
#include <stdio.h>
#define MAXN 51
#define MAXSET 501

long long exp1[MAXSET],exp2[MAXSET];
long long bit[64];
int n,t,u;

void proceseaza()
{int i,j,b,ok;
 for(i=1;i<=t;i++)
 {exp1[i]=0;
  for(j=1;j<=n;j++)
    {scanf("%d",&b);
	 if (b>0)
		 exp1[i] |=bit[b];
    }
 }

for(i=1;i<=u;i++)
 {exp2[i]=0;
  for(j=1;j<=n;j++)
    {scanf("%d",&b);
	 if (b>0)
		 exp2[i] |=bit[b];
    }
 }

ok=1;
for(i=1;i<=t && ok;i++)
{
	for(b=0,j=1;j<=u && !b;j++)
		if (exp1[i]==exp2[j]) b=1;
	if (!b) ok = 0;
}

for(i=1;i<=u && ok;i++)
{
	for(b=0,j=1;j<=t && !b;j++)
		if (exp2[i]==exp1[j]) b=1;
	if (!b) ok = 0;
}

if (ok) printf("DA\n");
else printf("NU\n");
}

int main()
{int i;
	
	freopen("amlei.in","r",stdin);
	freopen("amlei.out","w",stdout);
	bit[0] = 1;
	for(i=1;i<MAXN;i++) bit[i] = bit[i-1]<<1;;

	do
	{
		scanf("%d %d %d",&n,&t,&u);
		if (!feof(stdin))
			proceseaza();
	}
	while (!feof(stdin));
	return 0;
}