Cod sursa(job #3188054)

Utilizator mafteimatei dia maftei Data 1 ianuarie 2024 14:15:34
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.32 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("balanta.in");
ofstream fout("balanta.out");

int st[1030], dr[1030], us[1030], gr[1030];
int n, k, m, x, r;

int main () {
    fin >> n >> m;
    while (m) {
        fin >> k;

        for (int i=1;i<=n;++i) st[i] = dr[i] = 0;

        for (int i=1;i<=k;++i) {
            fin >> x;
            st[x] = 1;
        }

        for (int i=1;i<=k;++i) {
            fin >> x;
            dr[x] = 1;
        }

        fin >> r;

        if (r == 0)
            for (int i=1;i<=n;++i)
                if (st[i] || dr[i])
                    us[i] = gr[i] = 1;
        if(r==1)
            for(int i=1;i<=n;i++){
                if(st[i]) us[i]=1;
                if(dr[i]) gr[i]=1;
                if(!st[i]&&!dr[i])
                    us[i]=gr[i]=1;
            }
        if(r==2)
            for(int i=1;i<=n;i++){
                if(st[i]) gr[i]=1;
                if(dr[i]) us[i]=1;
                if(!st[i]&&!dr[i])
                    us[i]=gr[i]=1;
            }
        m--;
    }
    m = 0;
    for(int i=1;i<=n;i++){
        if(!us[i]) {
            m++;
            x = i;
        }
        if(!gr[i]) {
            m++;
            x = i;
        }
    }
    if(m==1)
        fout<<x;
    else fout<<0;
}