Pagini recente » Cod sursa (job #2246486) | Cod sursa (job #3181985) | Cod sursa (job #3122282) | Cod sursa (job #1786162) | Cod sursa (job #289221)
Cod sursa(job #289221)
#include <iostream>
#define FIN "amlei.in"
#define FOUT "amlei.out"
#define MAX_N 60
#define MAX_EXP 510
using namespace std;
int E[2][MAX_EXP][MAX_N];
int N,W,L[2];
int vars[MAX_N];
void citire(void){
freopen(FIN,"rt",stdin);
freopen(FOUT,"wt",stdout);
return ;
}
int adevarat(int expr){
for (int i=1;i<=L[expr];++i){
int ok=1;
for (int j=1;j<=N;++j){
int x=E[expr][i][j];
if ((x<0 && vars[x]==1) || (x>0 && vars[x]==0)){
ok=0;
j=N+1;
}
}
if (ok){ return 1;}
}
return 0;
}
int test_case(void){
scanf("%d%d%d",&N,&L[0],&L[1]);
for (int i=1;i<=L[0];++i)
for (int j=1;j<=N;++j) scanf("%d",&E[0][i][j]);
for (int i=1;i<=L[1];++i)
for (int j=1;j<=N;++j) scanf("%d",&E[1][i][j]);
for (int expr=0;expr<=1;++expr){
for (int i=1;i<=L[expr];++i){
for (int j=1;j<=N;++j){
if (E[expr][i][j]<0){
vars[abs(E[expr][i][j])]=0;
} else {vars[abs(E[expr][i][j])]=1;}
}
if (!adevarat(1-expr)){return 0;}
}
}
return 1;
}
void solve(void){
while (!feof(stdin)){ int x=test_case(); if (x) {printf("DA\n");} else
{printf("NU\n");};scanf("\n");}
fclose(stdin);
fclose(stdout);
return ;
}
int main(void){
citire();
solve();
return 0;
}