Pagini recente » Cod sursa (job #202774) | Cod sursa (job #357633) | Cod sursa (job #930343) | Cod sursa (job #412042) | Cod sursa (job #18368)
Cod sursa(job #18368)
#include <stdio.h>
#include <string.h>
#define FIN "amlei.in"
#define FOUT "amlei.out"
#define MAX 501
#define abs(c) (c<0)?(-c):c
long N, t, u;
long long E1[MAX], E2[MAX], ex1, ex2;
int main() {
long i,j,c;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
while ( !feof(stdin)) {
memset(E1, 0, sizeof(long long) * (t+1));
memset(E2, 0, sizeof(long long) * (u+1));
scanf("%ld %ld %ld\n", &N, &t, &u);
if (N==0 || t==0 || u==0)
break;
for (i=0; i<t; ++i) {
for (j=0; j<N; ++j) {
scanf("%ld", &c);
if ( c > 0 )
E1[i] |= 1 << c;
}
}
scanf("\n");
for (i=0; i<u; ++i) {
for (j=0; j<N; ++j) {
scanf("%ld", &c);
if ( c > 0 )
E2[i] |= 1 << c;
}
}
scanf("\n");
for (i=0; i<t; ++i) {
long ok=0;
for (j=0; j<u; ++j)
if ( E1[i] == E2[j] )
E2[j] = -1, ok=1;
if (ok)
E1[i] = -1;
}
ex1=0, ex2=0;
for (i=0; i<t; ++i)
if ( E1[i] > 0 )
ex1 |= E1[i];
for (i=0; i<u; ++i)
if ( E2[i] > 0 )
ex2 |= E2[i];
printf("%s\n", (ex1==ex2) ? "DA" : "NU");
}
fclose(stdout);
fclose(stdin);
return 0;
}