Pagini recente » Cod sursa (job #1084328) | Cod sursa (job #261946) | Cod sursa (job #2304927) | Cod sursa (job #2095217) | Cod sursa (job #2012551)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n, i, j, m, k, r, r1, mi[1100], ma[1100], a[1100], k1, k2, rez, rez2;
bool ok1, ok2, ok;
bool o[1100];
int main () {
fin >> n >> m;
for (i = 1; i <= m; i++)
{
fin >> k;
for (j = 1; j <= 2*k; j++)
{
fin >> a[j];
o[a[j]] = 1;
}
fin >> r;
k1 = k2 = 0;
if (r == 0)
for (j = 1; j <= 2*k; j++)
mi[a[j]] = ma[a[j]] = 1;
if (r == 1)
for (j = 1; j <= 2*k; j++)
{
if (j <= k) { mi[a[j]] = 1; if (ma[a[j]] == 0) k1 = 1; }
if (j > k) { ma[a[j]] = 1; if (mi[a[j]] == 0) k2 = 1; }
}
if (r == 2)
for (j = 1; j <= 2*k; j++)
{
if (j <= k) { ma[a[j]] = 1; if (mi[a[j]] == 0) k2 = 1; }
if (j > k) { mi[a[j]] = 1; if (ma[a[j]] == 0) k1 = 1; }
}
if (r != 0) ok = 1;
if (k1 == 0 && r != 0) ok1 = 1;
if (k2 == 0 && r != 0) ok2 = 1;
}
r = r1 = 0;
for (j = 1; j <= n; j++)
{
if (ok1 == 0 && (ma[j] == 0 || (o[j] == 0 && ok == 0)))
{ r++; rez = j; }
if (ok2 == 0 && (mi[j] == 0 || (o[j] == 0 && ok == 0)))
{ r1++; rez2 = j; }
}
if (r == 1 && r1 != 1) fout << rez << "\n";
else if (r1 == 1 && r1 != 1) fout << rez2 << "\n";
else if (r == r1 && rez == rez2 && r == 1) fout << rez2 << "\n";
else fout << 0 << "\n";
}