Pagini recente » Cod sursa (job #695884) | Cod sursa (job #1787419) | Cod sursa (job #1356924) | Cod sursa (job #2445916) | Cod sursa (job #19161)
Cod sursa(job #19161)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define maxn 5010
int n,m,l;
int a[maxn],b[maxn],c[maxn],d[maxn],x[maxn],y[maxn];
int egal(int x,int y)
{
int i;
for (i=1;i<=n;i++)
if (a[x+i]!=b[y+i]) return 0;
return 1;
}
int main()
{
freopen("amlei.in","r",stdin);
freopen("amlei.out","w",stdout);
int i,j,found;
while (!feof(stdin))
{
scanf("%d %d %d",&n,&m,&l);
if ((n==0) && (m==0) && (l==0)) break;
for (i=1;i<=m*n;i++) scanf("%d ",&a[i]);
for (i=1;i<=l*n;i++) scanf("%d ",&b[i]);
for (i=1;i<=m;i++)
{
x[i]=0;
for (j=1;j<=n;j++) x[i]+=a[(i-1)*n+j];
sort(a+(i-1)*n+1,a+i*n+1);
}
for (i=1;i<=l;i++)
{
y[i]=0;
for (j=1;j<=n;j++) y[i]+=b[(i-1)*n+j];
sort(b+(i-1)*n+1,b+i*n+1);
}
for (i=1;i<=m;i++)
{
found=0;
for (j=1;j<=l;j++)
if ((x[i]==y[j]) && (egal((i-1)*n,(j-1)*n)))
{
found=1;
break;
}
if (!found)
{
printf("NU\n");
break;
}
}
if (found) printf("DA\n");
}
return 0;
}