Pagini recente » Cod sursa (job #2469382) | Cod sursa (job #538768) | Cod sursa (job #1367563) | Cod sursa (job #457384) | Cod sursa (job #71410)
Cod sursa(job #71410)
#include <stdio.h>
#define GETBIT(n) (var >> n) & 1
int n, t, u, e1[25001], e2[25001];
long long var;
FILE *f = fopen("amlei.in", "r");
FILE *g = fopen("amlei.out", "w");
void read(int a[], int n) {
int i;
for (i=0; i<n; ++i){
fscanf(f, "%d", &a[i]);
if (a[i] > 0) a[i]--;
else a[i]++;
}
}
int eval (int e[], int nr) {
int val_conj, rez, i, j;
for (rez = 0, j = 0; j < nr && !rez; j+=n) {
for (val_conj=1, i = 0; i < n && val_conj; ++i)
if (e[j + i] > 0)
if (!GETBIT(e[i + j])) val_conj=0;
else ;
else if (!(1 - GETBIT(-e[i + j]))) val_conj=0;
if (val_conj) rez = 1;
}
return rez;
}
int main() {
int echivalent;
while (fscanf(f, "%d %d %d", &n, &t, &u)==3) {
read(e1, n*t); read(e2, n*u);
for (echivalent=1, var=0; var < (1<<n) && echivalent; ++var)
if (eval(e1, n*t) != eval(e2, n*u))
echivalent = 0;
if (echivalent) fprintf(g, "DA\n");
else fprintf(g, "NU\n");
}
fclose(f);
fclose(g);
return 0;
}