Cod sursa(job #2548699)

Utilizator qThunderStefan Durlanescu qThunder Data 16 februarie 2020 22:03:15
Problema Balanta Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.32 kb
#include <fstream>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
int n,m,t,k,v1[1100],v2[1100],v[1100],p,s;
int main()
{
    fin>>n>>m;
    k=n;
    while(m!=0 && k>1)
    {
        fin>>t;
        for(int i=1;i<=t;i++)
            fin>>v1[i];
        for(int i=1;i<=t;i++)
            fin>>v2[i];
        fin>>p;
        m--;
        if(p==0)
        {
            for(int i=1;i<=t;i++)
            {
                //a[v1[i]][v2[i]]a=[v2[i]][v1[i]]=2;
                if(v[v1[i]]!=2)
                {
                    if(v[v2[i]]==1)
                        s--;
                    k--;
                }
                v[v1[i]]=2;
                if(v[v2[i]]!=2)
                {
                    if(v[v2[i]]==1)
                        s--;
                    k--;
                }
                v[v2[i]]=2;
            }
        }
        if(p==1)
        {
            for(int i=1;i<=t;i++)
            {
                //a[v1[i]][v2[i]]a=1;
                // a[v2[i]][v1[i]]=2;
                //if(v[v1[i]]>v[v2[i]])
                //{

                //}
                if(v[v2[i]]!=2)
                {
                    if(v[v2[i]]==1)
                        s--;
                    k--;
                }
                v[v2[i]]=2;
                if(v[v1[i]]==0)
                {
                    v[v1[i]]=1;
                    s++;
                }
            }
        }
        if(p==2)
        {
            for(int i=1;i<=t;i++)
            {
                //a[v1[i]][v2[i]]a=2;
                //a[v2[i]][v1[i]]=1;
                if(v[v1[i]]!=2)
                {
                    if(v[v1[i]]==1)
                        s--;
                    k--;
                }
                v[v1[i]]=2;
                if(v[v2[i]]==0)
                {
                    v[v2[i]]=1;
                    s++;
                }
            }
        }
    }
    if(k>1 && s>1)
    {
        fout<<0;
        return 0;
    }
    for(int i=1;i<=n;i++)
    {
        if(v[i]==1)
        {
            fout<<i;
            return 0;
        }
    }
    for(int i=1;i<=n;i++)
    {
        if(v[i]==0)
        {
            fout<<i;
            return 0;
        }
    }
    return 0;
}