Cod sursa(job #2738318)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 5 aprilie 2021 18:07:53
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.39 kb
#include <iostream>
#include <fstream>
#define ADD 1000

using namespace std;

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

int g[1050], u[1050], f[1050];
int n, m, k, x, ok, sol;

int main (){
    fin>>n>>m;
    for(int i=1; i<=m; i++){
        fin>>k;

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



        fin>>ok;
        if(ok == 0){
            for(int j=1; j<=n; j++)
                if(f[j] == i || f[j] == i+ADD)
                    g[j]=u[j]=1;
        }else if(ok == 1){
            for(int j=1; j<=n; j++)
                if(f[j] == i)
                    g[j]=1;
                else if(f[j] == i+ADD)
                    u[j]=1;
                else
                    g[j]=u[j]=1;
        }else{
            for(int j=1; j<=n; j++)
                if(f[j] == i)
                    u[j]=1;
                else if(f[j] == i+ADD)
                    g[j]=1;
                else
                    g[j]=u[j]=1;
        }
    }

    ok=0;
    for(int i=1; i<=n; i++){
        if(g[i] == 1 && u[i] == 1)
            continue;
        if(ok == 0){
            ok=1;
            sol=i;
        }else
            ok=2;
    }

    if(ok == 1)
        fout<<sol;
    else
        fout<<0;
    return 0;
}