Pagini recente » Cod sursa (job #946630) | Cod sursa (job #2401240) | Cod sursa (job #995181) | Cod sursa (job #1461326) | Cod sursa (job #2711271)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
const int dim = 1030;
int n, m, k, r, x;
bool st[dim], dr[dim], usr[dim], gr[dim];
int main()
{
f >> n >> m;
for (int i = 1; i <= m; i++) {
f >> k;
for (int i = 1; i <= n; i++)
st[i] = dr[i] = false;
for (int i = 1; i <= k; i++) {
f >> x;
st[x] = true;
}
for (int i = 1; i <= k; i++) {
f >> x;
dr[x] = true;
}
f >> r;
switch (r) {
case 0:
for (int i = 1; i <= n; i++)
if (st[i] || dr[i])
usr[i] = gr[i] = true;
break;
case 1:
for (int i = 1; i <= n; i++) {
if (st[i])
usr[i] = true;
if (dr[i])
gr[i] = true;
if (!st[i] && !dr[i])
usr[i] = gr[i] = true;
}
break;
case 2:
for (int i = 1; i <= n; i++) {
if (st[i])
gr[i] = true;
if (dr[i])
usr[i] = true;
if (!st[i] && !dr[i])
usr[i] = gr[i] = true;
}
break;
}
}
int are = 0;
int care = 0;
for (int i = 1; i <= n; i++) {
if (!usr[i]) {
care = i;
are++;
}
if (!gr[i]) {
care = i;
are++;
}
}
if (are == 1)
g << care;
else
g << 0;
}