Pagini recente » Cod sursa (job #32455) | Cod sursa (job #329613) | Cod sursa (job #76939) | Cod sursa (job #2480228) | Cod sursa (job #29952)
Cod sursa(job #29952)
#include <stdio.h>
#include <string>
#define maxn 1030
int n,m,sol,rez;
char a[maxn],b[maxn],c[maxn],d[maxn];
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d %d",&n,&m);
int i,l,j,x,r;
for (i=1;i<=n;i++)
{
a[i]=1;
b[i]=1;
}
for (i=1;i<=m;i++)
{
memset(c,0,sizeof(c));
memset(d,0,sizeof(d));
scanf("%d ",&l);
for (j=1;j<=l;j++)
{
scanf("%d ",&x);
c[x]=1;
}
for (j=1;j<=l;j++)
{
scanf("%d ",&x);
d[x]=1;
}
scanf("%d ",&r);
if (r==0)
for (j=1;j<=n;j++)
{
a[j]&=(!c[j]);
a[j]&=(!d[j]);
b[j]&=(!c[j]);
b[j]&=(!d[j]);
}
else if (r==1)
for (j=1;j<=n;j++)
{
a[j]&=c[j];
b[j]&=d[j];
}
else for (j=1;j<=n;j++)
{
a[j]&=d[j];
b[j]&=c[j];
}
}
for (i=1;i<=n;i++)
if (a[i]>0)
{
sol++;
rez=i;
}
for (i=1;i<=n;i++)
if (b[i]>0)
{
sol++;
rez=i;
}
if (sol>1) printf("0\n");
else printf("%d\n",rez);
return 0;
}