Cod sursa(job #2012538)

Utilizator shantih1Alex S Hill shantih1 Data 18 august 2017 23:31:08
Problema Balanta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.52 kb
#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;

int main () {
    
    fin >> n >> m;
    for (i = 1; i <= m; i++)
    {
        fin >> k;
        for (j = 1; j <= 2*k; j++)
            fin >> a[j];
        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)
        {   r++;    rez = j;    }
        if (ok2 == 0 && mi[j] == 0)
        {   r1++;    rez2 = j;    }
    }
    
    if (r == 1 && r1 != 1)     fout << rez << "\n";
    if (r1 == 1 && r1 != 1)     fout << rez2 << "\n";
    if (r == r1 && rez == rez2) fout << rez2 << "\n";
    else fout << 0 << "\n";
}