Pagini recente » Cod sursa (job #1689936) | Cod sursa (job #1680263) | Cod sursa (job #3136102) | Monitorul de evaluare | Cod sursa (job #581641)
Cod sursa(job #581641)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define ll long long
int n,m,k,n1,n2;
ll v1[505],v2[505];
int v[505];
inline ll cheie()
{
int i;
ll put=1,sol=0;
for(i=0;i<n;i++)
{
if(v[i]<0)
sol+=put;
put*=2;
}
return sol;
}
int cmp(int a,int b)
{
int val1=a,val2=b;
if(val1<0) val1*=-1;
if(val2<0) val2*=-1;
return val1<val2;
}
int main ()
{
int i,j,val;
freopen("amlei.in","r",stdin);
freopen("amlei.out","w",stdout);
while(1)
{
n=100000;
scanf("%d%d%d",&n,&m,&k);
if(n==100000)
break;
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
scanf("%d",&v[j-1]);
sort(v,v+n,cmp);
v1[i]=cheie();
}
for(i=1;i<=k;i++)
{
for(j=1;j<=n;j++)
scanf("%d",&v[j-1]);
sort(v,v+n,cmp);
v2[i]=cheie();
}
sort(v1+1,v1+m+1);
sort(v2+1,v2+k+1);
n1=n2=0;
for(i=1;i<=m;i++)
if(i==1 || v1[i]!=v1[i-1])
v1[++n1]=v1[i];
for(i=1;i<=k;i++)
if(i==1 || v2[i]!=v2[i-1])
v2[++n2]=v2[i];
if(n1!=n2)
{
printf("NU\n");
continue;
}
for(i=1;i<=n1;i++)
if(v1[i]!=v2[i])
break;
if(i<=n1)
printf("NU\n");
else
printf("DA\n");
}
return 0;
}