Pagini recente » Cod sursa (job #740959) | Cod sursa (job #2573814) | Cod sursa (job #946424) | Cod sursa (job #742117) | Cod sursa (job #2158476)
#include <cstdio>
#define MAXN 1 << 10
bool g[MAXN + 1], u[MAXN + 1], s[MAXN + 1], d[MAXN + 1];
int main() {
FILE *fin, *fout;
int n, m, k, x, t, ans, cnt;
fin = fopen("balanta.in", "r");
fscanf(fin, "%d%d", &n, &m);
for (int i = 1; i <= n; ++i) {
g[i] = u[i] = 1;
}
for (int i = 0; i < m; ++i) {
fscanf(fin, "%d", &k);
for (int j = 1; j <= n; ++j) {
s[j] = d[j] = 0;
}
for (int j = 0; j < k; ++j) {
fscanf(fin, "%d", &x);
s[x] = 1;
}
for (int j = 0; j < k; ++j) {
fscanf(fin, "%d", &x);
d[x] = 1;
}
fscanf(fin, "%d", &t);
if (t == 1) {
for (int j = 1; j <= n; ++j) {
g[j] &= s[j];
u[j] &= d[j];
}
} else if (t == 2) {
for (int j = 1; j <= n; ++j) {
g[j] &= d[j];
u[j] &= s[j];
}
} else {
for (int j = 1; j <= n; ++j) {
if (s[j] || d[j]) {
g[j] = u[j] = 0;
}
}
}
}
fclose(fin);
ans = cnt = 0;
for (int i = 1; i <= n; ++i) {
if (g[i]) {
++cnt;
ans = i;
}
if (u[i]) {
++cnt;
ans = i;
}
}
fout = fopen("balanta.out", "w");
if (cnt == 1) {
fprintf(fout, "%d\n", ans);
} else {
fprintf(fout, "0\n");
}
fclose(fout);
return 0;
}