Pagini recente » Cod sursa (job #1839854) | Cod sursa (job #1480658) | Cod sursa (job #1839544) | Cod sursa (job #1247548) | Cod sursa (job #19400)
Cod sursa(job #19400)
#include <cstdio>
#include <algorithm>
using namespace std;
const int MMAX = 512;
const int NMAX = 64;
int N, T, U;
int A[MMAX][NMAX], B[MMAX][NMAX];
bool equal(int A[], int B[]) {
int i;
for (i = 0; i < N; ++i)
if (A[i] != B[i])
return false;
return true;
}
bool good() {
bool V[MMAX], me;
int i, j;
memset(V, 0x00, sizeof(V));
for (i = 0; i < T; ++i) {
me = false;
for (j = 0; j < U; ++j)
if (equal(A[i], B[j])) {
V[j] = true;
me = true;
}
if (!me) return false;
}
for (i = 0; i < U; ++i)
if (V[i] == false)
return false;
return true;
}
int main() {
FILE *fin = fopen("amlei.in", "rt");
FILE *fout = fopen("amlei.out", "wt");
int i, j;
while ( fscanf(fin, " %d %d %d", &N, &T, &U) == 3) {
for (i = 0; i < T; ++i) {
for (j = 0; j < N; ++j)
fscanf(fin, " %d", &A[i][j]);
sort(A[i], A[i] + N);
}
for (i = 0; i < U; ++i) {
for (j = 0; j < N; ++j)
fscanf(fin, " %d", &B[i][j]);
sort(B[i], B[i] + N);
}
if (good())
fprintf(fout, "DA\n");
else
fprintf(fout, "NU\n");
}
fclose(fin);
fclose(fout);
return 0;
}