Pagini recente » Cod sursa (job #1886926) | Cod sursa (job #1397736) | Cod sursa (job #1973023) | Cod sursa (job #253327) | Cod sursa (job #2102242)
#include <fstream>
#define DEF 1050
using namespace std;
ifstream fin ("balanta.in");
ofstream fout ("balanta.out");
int n, m, k, r, A[DEF], B[DEF], H[DEF], L[DEF];
int main () {
fin >> n >> m;
for (int i = 1; i <= n; ++ i) {
H[i] = L[i] = 1;
}
for (int i = 1; i <= m; ++ i) {
fin >> k;
for (int j = 1; j <= k; ++ j) {
int x;
fin >> x;
A[x] = 1;
}
for (int j = 1; j <= k; ++ j) {
int x;
fin >> x;
B[x] = 1;
}
fin >> r;
if (r == 0) {
for (int j = 1; j <= n; ++ j) { // H - A - B si L - A - B
if (A[j] || B[j])
H[j] = L[j] = 0;
}
}
if (r == 1) { // H ^ A si L ^ B
for (int j = 1; j <= n; ++ j) {
if (!(H[j] && A[j]))
H[j] = 0;
if (!(L[j] && B[j])) {
L[j] = 0;
}
}
}
if (r == 2) { // H ^ B si L ^ A
for (int j = 1; j <= n; ++ j) {
if (!(L[j] && A[j]))
L[j] = 0;
if (!(H[j] && B[j])) {
H[j] = 0;
}
}
}
for (int j = 1; j <= n; ++ j) {
A[j] = B[j] = 0;
}
}
int l = 0, h = 0;
for (int i = 1; i <= n; ++ i) {
if (H[i]) {
if (h) {
fout << 0;
return 0;
}
h = i;
}
if (L[i]) {
if (l) {
fout << 0;
return 0;
}
l = i;
}
}
if (h && !l)
fout << h;
if (!h && l)
fout << l;
if (h && l)
fout << 0;
if (!h && !l)
fout << 0;
return 0;
}