Pagini recente » Cod sursa (job #1906008) | Cod sursa (job #1873412) | Cod sursa (job #2344003) | Cod sursa (job #272191) | Cod sursa (job #68951)
Cod sursa(job #68951)
#include <cstdio>
#define fin "balanta.in"
#define fout "balanta.out"
#define Nmax 1025
int N,M,K,v1[Nmax],v2[Nmax];
int main() {
int i,j,a[Nmax],b[Nmax];
int opt,pos1,pos2;
freopen(fin,"r",stdin); freopen(fout,"w",stdout);
scanf("%d%d",&N,&M);
for (i=1;i<=N;++i)
v1[i]=v2[i]=-1;
for (i=1;i<=M;++i) {
scanf("%d",&K);
for (j=1;j<=K;++j)
scanf("%d",&a[j]);
for (j=1;j<=K;++j)
scanf("%d",&b[j]);
scanf("%d",&opt);
if (opt==0)
for (j=1;j<=K;++j) {
v1[a[j]]=0;
v2[b[j]]=0;
}
if (opt==1)
for (j=1;j<=K;++j) {
v1[a[j]]=0;
v2[b[j]]=0;
if (v1[b[j]]==-1) v1[b[j]]=1;
if (v2[a[j]]==-1) v2[a[j]]=1;
}
if (opt==2)
for (j=1;j<=K;++j) {
v1[b[j]]=0;
v2[a[j]]=0;
if (v1[a[j]]==-1) v1[a[j]]=1;
if (v2[b[j]]==-1) v2[b[j]]=1;
}
}
/*
for (i=1;i<=N;++i)
fprintf(stderr,"%d ",v1[i]);
fprintf(stderr,"\n");
for (i=1;i<=N;++i)
fprintf(stderr,"%d ",v2[i]);
fprintf(stderr,"\n");
*/
pos1=0; pos2=0;
for (i=1;i<=N;++i) {
if (v1[i]==1)
if (pos1>0)
pos1=-1;
else
if (pos1==0)
pos1=i;
if (v2[i]==1)
if (pos2>0)
pos2=-1;
else
if (pos2==0)
pos2=i;
}
if (pos1 > 0 && pos2 > 0 && pos1!=pos2)
pos1=pos2=-1;
if (pos1<0)
pos1=pos2;
if (pos1<0)
pos1=0;
printf("%d\n",pos1);
return 0;
}