Pagini recente » Cod sursa (job #2353993) | Cod sursa (job #2393432) | Cod sursa (job #546764) | Cod sursa (job #3143757) | Cod sursa (job #19015)
Cod sursa(job #19015)
#include <stdio.h>
#define nmax 25005
long n,t,u,a[nmax],b[nmax],i,j,na,nb,x,nr,ok,s,verif;
long sgn[nmax];
long long v[nmax];
FILE *f,*g;
int main()
{
f=fopen("amlei.in","rt");
g=fopen("amlei.out","wt");
while (fscanf(f,"%ld %ld %ld",&n,&t,&u)==3)
{
for (i=1;i<=500;i++)
v[i]=0;
na=n*t;
for (i=1;i<=na;i++)
fscanf(f,"%ld",&a[i]);
nb=n*u;
for (i=1;i<=nb;i++)
fscanf(f,"%ld",&b[i]);
nr=0;
for (i=1;i<=na;i+=n)
{
x=i+n;
nr++;
for (j=i;j<x;j++)
{
if (a[j]<0)
sgn[-a[j]] = 0;
else
sgn[a[j]] = 1;
}
for (j=1;j<=n;j++)
v[nr] += (1 << (j-1)) * sgn[j];
}
ok=1;
nr=0;
for (i=1;i<=nb&&ok;i+=n)
{
x=i+n;
nr++;
s=0;
for (j=i;j<x;j++)
{
if (b[j]<0)
sgn[-b[j]] = 0;
else
sgn[b[j]] = 1;
}
for (j=1;j<=n;j++)
s += (1 << (j-1)) * sgn[j];
verif=1;
for (j=1;j<=t;j++)
if (s==v[j])
{
verif=0;
break;
}
if (verif)
{
ok=0;
break;
}
}
if (ok)
{
for (i=1;i<=500;i++)
v[i]=0;
nr=0;
for (i=1;i<=nb;i+=n)
{
x=i+n;
nr++;
for (j=i;j<x;j++)
{
if (b[j]<0)
sgn[-b[j]] = 0;
else
sgn[b[j]] = 1;
}
for (j=1;j<=n;j++)
v[nr] += (1 << (j-1)) * sgn[j];
}
nr=0;
for (i=1;i<=na&&ok;i+=n)
{
x=i+n;
nr++;
s=0;
for (j=i;j<x;j++)
{
if (a[j]<0)
sgn[-a[j]] = 0;
else
sgn[a[j]] = 1;
}
for (j=1;j<=n;j++)
s += (1 << (j-1)) * sgn[j];
verif=1;
for (j=1;j<=u;j++)
if (s==v[j])
{
verif=0;
break;
}
if (verif)
{
ok=0;
break;
}
}
}
if (ok)
fprintf(g,"DA\n");
else
fprintf(g,"NU\n");
}
while (!feof(f));
fclose(f);
fclose(g);
return 0;
}