Pagini recente » Cod sursa (job #1455090) | Cod sursa (job #3124591) | Cod sursa (job #1290359) | Cod sursa (job #1174028) | Cod sursa (job #113768)
Cod sursa(job #113768)
#include <cstdio>
#include <algorithm>
using namespace std;
int a[512][64], b[512][64];
int x[512], y[512];
int solve()
{
int n,t,u;
while (scanf("%d", &n))
{
if(n<1 || n>50) break;
scanf("%d%d", &t,&u);
for (int i=1;i<=t;++i)
for (int j=1;j<=n;++j)
scanf("%d", &a[i][j]);
for (int i=1;i<=u;++i)
for (int j=1;j<=n;++j)
scanf("%d", &b[i][j]);
for (int i=1;i<=t;++i)
sort(a[i]+1,a[i]+n+1);
for (int i=1;i<=u;++i)
sort(b[i]+1,b[i]+n+1);
for (int i=1;i<t;++i)
{
int ok=1;
for (int j=1;j<=n;++j)
if (a[i][j] != a[i+1][j])
{
ok=0;
break;
}
x[i] = ok^1;
}
for (int i=1;i<u;++i)
{
int ok=1;
for (int j=1;j<=n;++j)
if (b[i][j] != b[i+1][j])
{
ok=0;
break;
}
y[i] = ok^1;
}
int good=1;
int A=1,B=1;
while (A<=t && B<=u)
{
while (x[A]) ++A;
while (y[B]) ++B;
for (int i=1;i<=n;++i)
if (a[A][i] != b[B][i])
{
good = 0;
break;
}
if (good == 0) break;
++A;++B;
}
if (good) printf("DA\n"); else printf("NU\n");
n=-1;
}
return 0;
}
int main()
{
freopen("amlei.in","r",stdin);
freopen("amlei.out","w",stdout);
solve();
return 0;
}