Cod sursa(job #57371)
#include <stdio.h>
int main(){
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
long n,m,i,k,r,x,a[520],b[520],c1,c2,p;
bool h[1025],l[1025],q[1025];
scanf("%ld %ld",&n,&m);
//initializare
for (i=1;i<=n;i++){h[i]=1;l[i]=1;}
for (p=1;p<=m;p++){
scanf("%ld",&k);
for (i=1;i<=k;i++)
scanf("%ld",&a[i]);
for (i=1;i<=k;i++)
scanf("%ld",&b[i]);
scanf("%ld",&r);
//verificare
if (r==0){
for (i=1;i<=k;i++){
h[a[i]]=0;
h[b[i]]=0;
l[a[i]]=0;
l[b[i]]=0;
}
}
if (r==1){
//multimea H
for (i=1;i<=n;i++)q[i]=0;
for (i=1;i<=k;i++)
if (h[a[i]])q[a[i]]=1;
for (i=1;i<=n;i++)h[i]=q[i];
//multimea L
for (i=1;i<=n;i++)q[i]=0;
for (i=1;i<=k;i++)
if (l[b[i]])q[b[i]]=1;
for (i=1;i<=n;i++)l[i]=q[i];
}
if (r==2){
//multimea H
for (i=1;i<=n;i++)q[i]=0;
for (i=1;i<=k;i++)
if (h[b[i]])q[b[i]]=1;
for (i=1;i<=n;i++)h[i]=q[i];
//multimea L
for (i=1;i<=n;i++)q[i]=0;
for (i=1;i<=k;i++)
if (l[a[i]])q[a[i]]=1;
for (i=1;i<=n;i++)l[i]=q[i];
}
}
c1=0;
c2=0;
for (i=1;i<=n;i++){if (h[i])c1++;if (l[i])c2++;}
if ((c1==1&&!c2)||(!c1&&c2==1)){
if (c1){for (i=1;i<=n;i++)
if (h[i])
printf("%ld\n",i);
}
else {
for (i=1;i<=n;i++)
if (l[i])
printf("%ld\n",i);
}
}
else printf("%ld\n",0);
return 0;
}