Cod sursa(job #3250053)

Utilizator Radu_GrigorieGrigorie Radu Stefan Radu_Grigorie Data 19 octombrie 2024 09:53:26
Problema Balanta Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.88 kb
#include <fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int legit[1025], v1[1025], v2[1025], v3[1025];
int main()
{
    int n, m, k, t, ok=0, sol=-1;
    fin >> n >> m;
    for(int i=1; i<=m; i++)
    {
        fin >> k;
        for(int j=1; j<=k; j++)
        {
            fin >> v1[j];
        }
        for(int j=1; j<=k; j++)
        {
            fin >> v2[j];
        }
        fin >> t;
        for(int j=1; j<=k; j++)
        {
            if(t==0)
            {
                legit[v1[j]] = 3;
                legit[v2[j]] = 3;
            }
            else if(t==1)
            {
                if(legit[v1[j]]!=0&&legit[v1[j]]!=2)
                    legit[v1[j]] = 3;
                else
                    legit[v1[j]] = 2;
                if(legit[v2[j]]!=0&&legit[v2[j]]!=1)
                    legit[v2[j]] = 3;
                else
                    legit[v2[j]] = 1;
                v3[j] = 1;
            }
            else if(t==2)
            {
                if(legit[v1[j]]!=0&&legit[v1[j]]!=1)
                    legit[v1[j]] = 3;
                else
                    legit[v1[j]] = 1;
                if(legit[v2[j]]!=0&&legit[v2[j]]!=2)
                    legit[v2[j]] = 3;
                else
                    legit[v2[j]] = 2;
                v3[j] = 1;
            }
        }
        if(t==1||t==2)
        {
            for(int j=1; j<=n; j++)
            {
                if(v3[j]==0)
                {
                    legit[j] = 3;
                }
            }
        }
    }
    for(int i=1; i<=n; i++)
    {
        if(legit[i]!=3&&ok==0)
        {
            ok = 1;
            sol = i;
        }
        else if(legit[i]!=3&&ok==1)
        {
            fout << 0;
            return 0;
        }
    }
    fout << sol;
    return 0;
}