Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 138 si 137 | Cod sursa (job #805717) | Cod sursa (job #3215185) | Cod sursa (job #3121157) | Cod sursa (job #148236)
Cod sursa(job #148236)
#include<stdio.h>
#include<string.h>
#define NMAX 1100
long x[NMAX],y[NMAX],a[NMAX],b[NMAX],i,j,k,l,q,p,n,m;
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%ld%ld",&n,&m);
for (i=1;i<=n;i++)
a[i]=b[i]=1;
for (i=1;i<=m;i++)
{
scanf("%ld",&k);
for (j=1;j<=k;j++)
{
scanf("%ld",&q);
x[q]=1;
}
for (j=1;j<=k;j++)
{
scanf("%ld",&q);
y[q]=1;
}
scanf("%ld",&q);
if (q==0)
for (j=1;j<=n;j++)
{
if (x[j]||y[j])
{
a[j]=0;
b[j]=0;
}
}
else
if (q==1)
for (j=1;j<=n;j++)
{
if (!x[j])
a[j]=0;
if (!y[j])
b[j]=0;
}
else
for (j=1;j<=n;j++)
{
if (!y[j])
a[j]=0;
if (!x[j])
b[j]=0;
}
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
}
i=0;
j=0;
for (l=1;l<=n;l++)
{
if (a[l])
{
i++;
p=l;
}
if (b[l])
{
j++;
p=l;
}
}
if ((i==1&&!j)||(j==1&&!i))
printf("%ld\n",p);
else
printf("0\n");
return 0;
}