Pagini recente » Cod sursa (job #3280092) | Cod sursa (job #261885) | Cod sursa (job #1546733) | Cod sursa (job #2837637) | Cod sursa (job #482150)
Cod sursa(job #482150)
#include<iostream>
#include<fstream>
#define maxn 1030
using namespace std;
int eg[maxn], u[maxn], g[maxn];
int a[maxn];
int main(){
ifstream f("balanta.in");
ofstream gg("balanta.out");
int n, m;
f>>n>>m;
int i, j, k, r;
for (i = 1; i <= n; i++){
u[i] = 1;
g[i] = 1;
}
for (i = 1; i <= m; i++){
f>>k;
for (j = 1; j <= k*2; j++)
f>>a[j];
f>>r;
if (r == 0)
for (j = 1; j <= k*2; j++)
eg[a[j]] = 1;
else
if (r == 1) {
for (j = 1; j <= k; j++)
if (g[a[j]] != 0)
g[a[j]] = -g[a[j]];
for (j = k+1; j <= 2*k; j++)
if (u[a[j]] != 0)
u[a[j]] = -u[a[j]];
for (j = 1; j <= n; j++){
if (u[j] < 0)
u[j] = -u[j];
else
u[j] = 0;
if (g[j] < 0)
g[j] = -g[j];
else
g[j] = 0;
}
}
else {
for (j = k+1; j <= 2*k; j++)
if (g[a[j]] != 0)
g[a[j]] = -g[a[j]];
for (j = 1; j <= k; j++)
if (u[a[j]] != 0)
u[a[j]] = -u[a[j]];
for (j = 1; j <= n; j++){
if (u[j] < 0)
u[j] = -u[j];
else
u[j] = 0;
if (g[j] < 0)
g[j] = -g[j];
else
g[j] = 0;
}
}
}
for (i = 1; i <= n; i++)
if (eg[i] == 1){
g[i] = 0;
u[i] = 0;
}
int nr1 = 0, nr2 = 0;
for (i = 1; i <= n; i++){
if (u[i] == 1)
nr1++;
if (g[i] == 1)
nr2++;
}
if (nr1 == 1 && nr2 == 0){
for (i = 1; i <= n; i++)
if (u[i] == 1)
gg<<i<<'\n';
} else
if (nr1 == 0 && nr2 == 1) {
for (i = 1; i <= n; i++)
if (g[i] == 1)
gg<<i<<'\n';
} else
gg<<0<<'\n';
return 0;
}