Pagini recente » Cod sursa (job #3158747) | Cod sursa (job #507942) | Cod sursa (job #1527482) | Cod sursa (job #273705) | Cod sursa (job #1712442)
#include <cstdio>
#define MAXM 1024
#define MAXK 512
int left[MAXM+1][MAXK+1],right[MAXM+1][MAXK+1],k[MAXM+1],r[MAXM+1],vf[MAXM+1],vf1[MAXM+1],vf2[MAXM+1];
int main(){
FILE*fi,*fout;
int i,j,n,m,con1,con2,ans1,ans2;
fi=fopen("balanta.in" ,"r");
fout=fopen("balanta.out" ,"w");
fscanf(fi,"%d%d" ,&n,&m);
for(i=1;i<=m;i++){
fscanf(fi,"%d" ,&k[i]);
for(j=1;j<=k[i];j++){
fscanf(fi,"%d" ,&left[i][j]);
vf[left[i][j]]++;
}
for(j=1;j<=k[i];j++){
fscanf(fi,"%d" ,&right[i][j]);
vf[right[i][j]]++;
}
fscanf(fi,"%d" ,&r[i]);
if(r[i]==0){
for(j=1;j<=k[i];j++)
vf[left[i][j]]=vf[right[i][j]]=-MAXM;
}
if(r[i]==1){
for(j=1;j<=k[i];j++){
vf1[left[i][j]]++;
vf2[right[i][j]]++;
}
}
if(r[i]==2){
for(j=1;j<=k[i];j++){
vf2[left[i][j]]++;
vf1[right[i][j]]++;
}
}
}
con1=con2=0;
for(i=1;i<=n;i++)
if(vf[i]>0){
if(vf1[i]==vf[i]){
con1++;
ans1=i;
}
if(vf2[i]==vf[i]){
con2++;
ans2=i;
}
}
if(con1!=1&&con2!=1)
fprintf(fout,"0");
if(con1==1)
fprintf(fout,"%d" ,ans1);
else
if(con2==0)
fprintf(fout,"%d" ,ans2);
fclose(fi);
fclose(fout);
return 0;
}