Cod sursa(job #3239538)

Utilizator Bianca2507Negret Bianca Bianca2507 Data 6 august 2024 12:48:44
Problema Balanta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2 kb
#include <fstream>

using namespace std;
ifstream cin("balanta.in");
ofstream cout("balanta.out");
int n,m,k,st[1027],dr[1027],v[3][1027];
int fr[1027],fr1[1027];
///v[0][i]=cele usoare
///v[0][i]=cele grele
int main()
{
    cin>>n>>m;
    for(int i=1; i<=n; i++)
    {
        v[0][i]=1;
        v[1][i]=1;
    }
    for(int idx=1; idx<=m; idx++)
    {
        cin>>k;
        for(int i=1; i<=n; i++)
        {
            st[i]=0;
            dr[i]=0;
            fr[i]=0;
            fr1[i]=0;
        }
        for(int i=1; i<=k; i++)
            cin>>st[i],fr[st[i]]=1;

        for(int i=1; i<=k; i++)
            cin>>dr[i],fr1[dr[i]]=1;

        int r;
        cin>>r;
        if(r==0)///st=dr
        {
            for(int i=1; i<=k; i++)
            {
                v[0][st[i]]=0;
                v[0][dr[i]]=0;
                v[1][st[i]]=0;
                v[1][dr[i]]=0;
            }
        }
        else if(r==1)///st>dr
        {
            for(int i=1; i<=n; i++)
            {
                if(v[0][i]==1 && fr1[i]==1)
                    v[0][i]=1;
                else
                    v[0][i]=0;

                if(v[1][i]==1 &&fr[i]==1)
                    v[1][i]=1;
                else
                    v[1][i]=0;
            }
        }
        else if(r==2)///st<dr
        {
            for(int i=1; i<=n; i++)
            {
                if(v[0][i]==1 && fr[i]==1)
                    v[0][i]=1;
                else
                    v[0][i]=0;

                if(v[1][i]==1 && fr1[i]==1)
                    v[1][i]=1;
                else
                    v[1][i]=0;
            }
        }

    }
    int nr=0,aux=0;
    for(int i=1; i<=n; i++)
    {
        if(v[0][i]==1)
        {
            nr++;
            aux=i;
        }
        if(v[1][i]==1)
        {
            nr++;
            aux=i;
        }
    }

    if(nr==1)
        cout<<aux;
    else
        cout<<0;
    return 0;
}