Pagini recente » Cod sursa (job #515904) | Cod sursa (job #1032975) | Cod sursa (job #1698875) | Cod sursa (job #889663) | Cod sursa (job #27932)
Cod sursa(job #27932)
#include <stdio.h>
int v[1025], temp[1025], n, m, k, cnt, sol;
int main()
{
freopen("balanta.in","r",stdin);
freopen("balanta.out","w",stdout);
int i, j, a;
scanf("%d%d", &n, &m);
for(i = 1; i <= m; ++i)
{
scanf("%d", &k);
for(j = 1; j <= 2 * k; ++j)
{
scanf("%d", &temp[j]);
}
scanf("%d", &a);
if(a == 0)
{
for(j = 1; j <= 2 * k; ++j)
{
v[temp[j]] = 3;
}
}
else if(a == 1)
{
for(j = 1; j <= k; ++j)
{
if(v[temp[j]] == -1)
v[temp[j]] = 3;
if(v[temp[j]] == 0 || v[temp[j]] == 1)
v[temp[j]] = 2;
}
for(j = k + 1; j <= 2 * k; ++j)
{
if(v[temp[j]] == 2)
{
v[temp[j]] = 3;
}
if(v[temp[j]] == 0 || v[temp[j]] == -1)
{
v[temp[j]] = -2;
}
}
for(j = 1; j <= n; ++j)
{
if(!(v[j] == 2 || v[j] == -2))
v[j] = 3;
else
v[j] /= 2;
}
}
else
{
for(j = k + 1; j <= 2 * k; ++j)
{
if(v[temp[j]] == -1)
v[temp[j]] = 3;
if(v[temp[j]] == 0 || v[temp[j]] == 1)
v[temp[j]] = 2;
}
for(j = 1; j <= k; ++j)
{
if(v[temp[j]] == 2)
{
v[temp[j]] = 3;
}
if(v[temp[j]] == 0 || v[temp[j]] == -1)
{
v[temp[j]] = -2;
}
}
for(j = 1; j <= n; ++j)
{
if(!(v[j] == -2 || v[j] == 2))
v[j] = 3;
else
v[j] /= 2;
}
}
}
for(i = 1; i <= n; ++i)
{
if(v[i] == 1 || v[i] == -1)
{
++cnt;
sol = i;
}
}
if(cnt == 1)
{
printf("%d", sol);
}
else
{
printf("0");
}
return 0;
}