Pagini recente » Cod sursa (job #1055837) | Cod sursa (job #2945645) | Cod sursa (job #1934853) | Cod sursa (job #1748619) | Cod sursa (job #19876)
Cod sursa(job #19876)
#include <stdio.h>
FILE *f,*g;
int a[2][501][51],
v[51];
int n,t,u,i,j;
void presume(int p, int x)
{
for (int i=1;i<=n;++i) if (a[p][x][i]<0) v[a[p][x][i]*(-1)]=0; else v[a[p][x][i]]=1;
}
int check(int p)
{
int i,j,d,g,s=0;
if (p==0) d=t; else d=u;
for (i=1;i<=d;++i)
{
g=1;
for (j=1;j<=n;++j)
{
if (a[p][i][j]<0)
{
g*=1-v[a[p][i][j]*(-1)];
}
else
{
g*=v[a[p][i][j]];
}
}
s+=g;
}
if (s>=1) return 1; else return 0;
}
void runtest()
{
int i,r;
for (i=1;i<=t;++i)
{
presume(0,i);
r=check(1);
if (r==0)
{
fprintf(g,"NU\n");
return;
}
}
/*for (i=1;i<=u;++i)
{
presume(1,i);
r=check(0);
if (r==0)
{
fprintf(g,"NU\n");
return;
}
}*/
fprintf(g,"DA\n");
}
int main()
{
f=fopen("amlei.in","r");
g=fopen("amlei.out","w");
fprintf(stderr,"CUCUBAU\n");
while (fscanf(f,"%d %d %d\n",&n,&t,&u) == 3)
{
for (i=1;i<=t;++i)
for (j=1;j<=n;++j) fscanf(f,"%d",&a[0][i][j]);
fscanf(f,"\n");
for (i=1;i<=u;++i)
for (j=1;j<=n;++j) fscanf(f,"%d",&a[1][i][j]);
fscanf(f,"\n");
runtest();
}
return 0;
}