Pagini recente » Cod sursa (job #2343285) | Cod sursa (job #1293447) | Cod sursa (job #1513250) | Cod sursa (job #2087224) | Cod sursa (job #94524)
Cod sursa(job #94524)
#include <stdio.h>
#define NMAX (10+(1<<10))
int N, M, St[NMAX], T[NMAX];
int main()
{
int i, k, k2, g, p, q, lastp, lastq;
freopen("balanta.in", "r", stdin);
scanf("%d%d", &N, &M);
for (i = 0; i < NMAX; i++) St[i] = -1;
while (M--)
{
scanf("%d", &k); k2 = k<<1;
for (i = 0; i < k2; i++) scanf("%d", T+i);
scanf("%d", &g);
if (g == 0)
{
for (i = 0; i < k2; i++) St[T[i]] = 0;
continue;
}
if (g == 1) p = 1, q = 2;
if (g == 2) p = 2, q = 1;
for (i = 1; i <= N; i++)
if (St[i]==p) St[i] = 3;
else
if (St[i]==q) St[i] = 4;
for (i = 0; i < k; i++)
if ((St[T[i]]==3)||(St[T[i]]<0)) St[T[i]] = p;
for (i = k; i < k2; i++)
if ((St[T[i]]==4)||(St[T[i]]<0)) St[T[i]] = q;
}
for (i = 1, p = q = 0; i <= N; i++)
if (St[i]==1) p++, lastp = i;
else
if (St[i]==2) q++, lastq = i;
freopen("balanta.out", "w", stdout);
if ((p==1)&&(q==0)) printf("%d\n", lastp);
else
if ((p==0)&&(q==1)) printf("%d\n", lastq);
else
printf("0\n");
return 0;
}