Pagini recente » Cod sursa (job #2875867) | Cod sursa (job #2430825) | Cod sursa (job #2228516) | Cod sursa (job #145056) | Cod sursa (job #94675)
Cod sursa(job #94675)
#include<stdio.h>
int viz[1025],b[1025],a[1025];
int main()
{
int i,k,n,x,m;
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
scanf("%d%d",&n,&m);
int j;
for(j=1;j<=m;j++)
{
scanf("%d",&k);
for(i=1;i<=k;i++)
scanf("%d",&a[i]);
for(i=1;i<=k;i++)
scanf("%d",&b[i]);
scanf("%d",&x);
if (x==0)
for(i=1;i<=k;i++)
viz[a[i]]=viz[b[i]]=-1;
else
if (x==1)
for(i=1;i<=k;i++)
{
if(viz[a[i]]==1 || viz[a[i]]==-1)
viz[a[i]]=-1;
else
viz[a[i]]=2;
if( viz[b[i]]==2 || viz[b[i]]==-1)
viz[b[i]]=-1;
else
viz[b[i]]=1;
}
else
for(i=1;i<=k;i++)
{
if(viz[b[i]]==1 || viz[b[i]]==-1)
viz[b[i]]=-1;
else
viz[b[i]]=2;
if( viz[a[i]]==2 || viz[a[i]]==-1)
viz[a[i]]=-1;
else
viz[a[i]]=1;
}
for(i=1;i<=k+1;i++)
a[i]=b[i]=0;
}
int a1,a2,a3,a0;
a1=a2=a0=a3=0;
for(i=1;i<=n;i++)
{
if(viz[i]==1)
a1++;
else
if(viz[i]==2)
a2++;
else
if(viz[i]==-1)
a3++;
else
if(viz[i]==0)
a0++;
}
if(a0!=0 && a1==a2 && a1 !=1)
{
printf("0\n");
return 0;
}
if(a3==n)
{
printf("0\n");
return 0;
}
if(a2==1 && a1!=1 && a0 ==0)
for(i=1;i<=n;i++)
if(viz[i]==2)
{
printf("%d\n",i);
return 0;
}
if(a2!=1 && a1==1 && a0==0)
for(i=1;i<=n;i++)
if(viz[i]==1)
{
printf("%d\n",i);
return 0;
}
printf("0\n");
return 0;
}