Pagini recente » Istoria paginii runda/321/clasament | Istoria paginii runda/cex01/clasament | Istoria paginii runda/test34/clasament | Istoria paginii runda/simulare-cartita-42 | Cod sursa (job #734543)
Cod sursa(job #734543)
#include<cstdio>
#include<cstring>
#define nmax 1026
bool r[nmax],r1[nmax],p[nmax],q[nmax];
int main(void){
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
int n,m,nr,x,rez,i;
scanf("%d%d",&n,&m);
memset(r,1,sizeof(r)); memset(r1,1,sizeof(r1));
while(m--){
scanf("%d",&nr);
for(i=0;i<nr;++i){ scanf("%d",&x); q[x]=1; }
for(i=0;i<nr;++i){ scanf("%d",&x); p[x]=1; }
scanf("%d",&rez);
if(rez==0)
for(i=1;i<=n;++i){
if(q[i])r[i]=r1[i]=0;
if(p[i])r[i]=r1[i]=0;
q[i]=p[i]=0;
}
if(rez==1)
for(i=1;i<=n;++i){
r[i]&=q[i];
r1[i]&=p[i];
p[i]=q[i]=0;
}
if(rez==2)
for(i=1;i<=n;++i){
r[i]&=p[i];
r1[i]&=q[i];
p[i]=q[i]=0;
}
}
for(i=1,nr=0;i<=n;++i)if(r[i]){ rez=i; nr++; }
for(i=1;i<=n;++i)if(r1[i]){ rez=i; nr++; }
if(nr==1)printf("%d",rez); else printf("0");
return 0;
}