Cod sursa(job #18299)
Utilizator | Data | 18 februarie 2007 11:19:05 | |
---|---|---|---|
Problema | Amlei | Scor | 100 |
Compilator | cpp | Status | done |
Runda | preONI 2007, Runda 2, Clasa a 10-a | Marime | 2.2 kb |
#include<stdio.h>
const int maxn = 600;
typedef int sir[maxn];
int sol;
sir ap[maxn];
int i;
int j;
int n;
int m1;
sir ap2[maxn];
int m2;
int cmp(sir &a,sir &b)
{
int i;
for(i=1;i<=n;i++)
if (a[i]!=b[i]) return 0;
return 1;
}
int modul(int x)
{
if (x<0) return x*(-1);
return x;
}
int main()
{
freopen("amlei.in","r",stdin);
freopen("amlei.out","w",stdout);
while(!feof(stdin))
{
int x;
scanf("%d %d %d",&n,&m1,&m2);
sol=0;
for(i=1;i<=m1;i++)
{
for(j=1;j<=n;j++)
{
scanf(" %d ",&x);
if (x>0) ap[i][modul(x)]=1;
else ap[i][modul(x)]=2;
}
}
for(i=1;i<=m2;i++)
{
for(j=1;j<=n;j++)
{
scanf(" %d ",&x);
if (x>0) ap2[i][modul(x)]=1;
else ap2[i][modul(x)]=2;
}
}
for(i=1;i<=m1;i++)
{
for(j=1;j<=m2;j++)
if (cmp(ap[i],ap2[j]))
{
sol++;
break;
}
}
for(j=1;j<=m2;j++)
{
for(i=1;i<=m1;i++)
if (cmp(ap[i],ap2[j]))
{
sol++;
break;
}
}
if (sol==m1+m2)printf("DA\n");
else printf("NU\n");
}
return 0;
}