Cod sursa(job #18196)

Utilizator gcosminGheorghe Cosmin gcosmin Data 18 februarie 2007 10:31:44
Problema Amlei Scor 100
Compilator cpp Status done
Runda preONI 2007, Runda 2, Clasa a 9-a si gimnaziu Marime 0.96 kb
#include <stdio.h>

#define NMAX 510
#define LL long long

int T, N, P, Q;

LL a[NMAX];
LL b[NMAX];

int main()
{
	int i, j, q;
	
	freopen("amlei.in", "r", stdin);
	freopen("amlei.out", "w", stdout);

	while (scanf("%d %d %d", &N, &P, &Q) != EOF) {
		for (i = 1; i <= P; i++) {
			a[i] = 0;
			for (j = 1; j <= N; j++) {
				scanf("%d", &q);
				if (q < 0) continue;
				a[i] |= (LL) 1 << (q - 1);
			}
		}

		for (i = 1; i <= Q; i++) {
			b[i] = 0;
			for (j = 1; j <= N; j++) {
				scanf("%d", &q);
				if (q < 0) continue;
				b[i] |= (LL) 1 << (q - 1);
			}
		}

		int e = 1;
		for (i = 1; i <= P && e; i++) {
			for (j = 1; j <= Q; j++) if (a[i] == b[j]) break;
			if (j == Q + 1) e = 0;
		}

		if (!e) {
			printf("NU\n");
			continue;
		}

		for (i = 1; i <= Q && e; i++) {
			for (j = 1; j <= P; j++) if (b[i] == a[j]) break;
			if (j == P + 1) e = 0;
		}

		if (!e) {
			printf("NU\n");
			continue;
		}

		printf("DA\n");
	}

fclose(stdin);
fclose(stdout);
return 0;
}