Cod sursa(job #250232)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 30 ianuarie 2009 13:45:23
Problema Amlei Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.28 kb
#include <cstdio>
#define c 55
#define lm 510

long long a[lm], b[lm], k;
long n, t, u;

int main()
{
    freopen("amlei.in","r",stdin);
	freopen("amlei.out","w",stdout);
	int i,j,x;
	while (scanf("%ld %ld %ld",&n,&t,&u)==3)
    {
		for (i=1; i<=t; a[i++]=0);
		for (i=1; i<=u; b[i++]=0);
		for (i=1; i<=t; i++)
		    for (j=1; j<=n; j++)
			{
				scanf("%d",&x);
				if (x<0)
				{
					x+=c;
                    k=((a[i]>>x)+1)<<x;
					a[i]=a[i]|k;
				}
            }
		for (i=1; i<=u; i++)
		    for (j=1; j<=n; j++)
			{
			    scanf("%d",&x);
				if (x<0)
				{
				    x+=c;
					k=((b[i]>>x)+1)<<x;
					b[i]|=k;
                }
            }
		bool ok=1;
		bool k;
		for (i=1; i<=t; i++)
		{
		    k=0;
			for (j=1; j<=u; j++)
                if (a[i]==b[j])
			    {
                    k=1;
					break;
                }
			if (!k)
			{
			    ok=0;
				break;
            }
        }
		for (i=1; i<=u; i++)
		{
		    k=0;
			for (j=1; j<=t; j++)
                if (b[i]==a[j])
			    {
                    k=1;
					break;
                }
			if (!k)
			{
			    ok=0;
				break;
            }
        }
		if (ok) printf("DA\n"); else printf("NU\n");
	}
	fclose(stdin);
	fclose(stdout);
}