Cod sursa(job #250231)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 30 ianuarie 2009 13:42:33
Problema Amlei Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <cstdio>
#include <cstring>
#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+x;
                    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=0-x;
					k=((b[i]>>(c-x))+1)<<(c-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<=u; 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);
}