Pagini recente » Cod sursa (job #937890) | Cod sursa (job #1780857) | Cod sursa (job #1794673) | Cod sursa (job #2329318) | Cod sursa (job #1333353)
#include <cstdio>
using namespace std;
int main()
{
int n,m,cnt,val,rez,k,a[3000],posgreu[3000],posusor[3000],i;
freopen ("balanta.in","r",stdin);
freopen ("balanta.out","w",stdout);
scanf("%d%d", &n,&m);
for(i=1;i<=n;++i) posgreu[i]=posusor[i]=1;
while(m--)
{
scanf("%d", &k);
for(i=1;i<=2*k;++i) scanf("%d", &a[i]);
scanf("%d", &rez);
if(!rez)
for(i=1;i<=2*k;++i) posgreu[a[i]]=posusor[a[i]]=0;
else
if(rez==1)
{
for(i=1;i<=k;++i)
posgreu[a[i]]&=1;
for(i=k+1;i<=2*k;++i)
posgreu[a[i]]=0;
for(i=k+1;i<=2*k;++i)
posusor[a[i]]&=1;
for(i=1;i<=k;++i)
posusor[a[i]]=0;
}
else
{
for(i=k+1;i<=2*k;++i)
posgreu[a[i]]&=1;
for(i=1;i<=k;++i)
posgreu[a[i]]=0;
for(i=1;i<=k;++i)
posusor[a[i]]&=1;
for(i=k+1;i<=2*k;++i)
posusor[a[i]]=0;
}
}
for(i=1,cnt=0;i<=n;++i)
if(posgreu[i])
{
++cnt;
val=i;
}
if(cnt==1)
printf("%d\n", val);
else
{
for(i=1,cnt=0;i<=n;++i)
if(posusor[i])
{
++cnt;
val=i;
}
if(cnt==1) printf("%d\n", val);
else printf("0\n");
}
return 0;
}