Cod sursa(job #3246193)

Utilizator User-77-Stancu Andreas User-77- Data 2 octombrie 2024 10:54:38
Problema Balanta Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.93 kb
#include <fstream>

using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int n,m,x,i,j,k;
int v[100000];
int main()
{
    cin>>n>>m;
    for(j=1;j<=m;j++)
    {
        cin>>k;
        for(i=1;i<=k;i++)
        {
            cin>>x;
            if(v[x]==0)
            {
                v[x]=3;
            }
            else if(v[x]==1)
            {
                v[x]=5;
            }
            else if(v[x]==2)
            {
                v[x]=6;
            }
        }
        for(i=1;i<=k;i++)
        {
            cin>>x;
            if(v[x]>=0)
            {
                v[x]=4;
            }
            else if(v[x]==1)
            {
                v[x]=7;
            }
            else if(v[x]==2)
            {
                v[x]=8;
            }
        }
        cin>>x;
        if(x==0)
        {
            for(i=1;i<=n;i++)
            {
                if(v[i]==3 || v[i]==4)
                {
                    v[i]=-1;
                }
            }
        }
        if(x==1)
        {
            for(i=1;i<=n;i++)
            {
                if(v[i]<3)
                {
                    v[i]=-1;
                }
                if(v[i]==3)
                {
                    v[i]=1;
                }
                else if(v[i]==5)
                {
                    v[i]=1;
                }
                else if(v[i]==6)
                {
                    v[i]=-1;
                }
                if(v[i]==4)
                {
                    v[i]=2;
                }
                else if(v[i]==7)
                {
                    v[i]=-1;
                }
                else if(v[i]==8)
                {
                    v[i]=2;
                }
            }
        }
        if(x==2)
        {
            for(i=1;i<=n;i++)
            {
                if(v[i]<3)
                {
                    v[i]=-1;
                }
                if(v[i]==3)
                {
                    v[i]=2;
                }
                else if(v[i]==5)
                {
                    v[i]=-1;
                }
                else if(v[i]==6)
                {
                    v[i]=2;
                }
                if(v[i]==4)
                {
                    v[i]=1;
                }
                else if(v[i]==7)
                {
                    v[i]=1;
                }
                else if(v[i]==8)
                {
                    v[i]=-1;
                }
            }
        }
    }
    int verif=0;
    int l;
    for(i=1;i<=n;i++)
    {
        if(v[i]>0)
        {
            verif++;
            l=i;
        }
    }
    if(verif==0)
    {
        cout<<'0';
    }
    if(verif==1)
    {
        cout<<l;
    }
    if(verif>1)
    {
        cout<<'0';
    }
    return 0;
}