Cod sursa(job #1601613)

Utilizator adiXMGemene Adrian adiXM Data 16 februarie 2016 03:29:42
Problema Balanta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <fstream>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
const int NMAX=1029;
int sol[NMAX],st[NMAX],dr[NMAX];
int main()
{
    int n,m,x,k,ii;
    f>>n>>m;
    for(int i=1;i<=n;i++)
        sol[i]=1;
    for(int q=1;q<=m;q++)
    {
        f>>k;
        for(int i=1;i<=k;i++)
            f>>st[i];
        for(int i=1;i<=k;i++)
            f>>dr[i];
        f>>x;
        if(x==0)
        {
            for(int i=1;i<=k;i++)
                sol[st[i]]=sol[dr[i]]=0;
        }
        else
            if(x==1)
            {
                for(int i=1;i<=k;i++)
                    sol[dr[i]]=0;
                for(int i=1;i<=k;i++)
                    if(sol[st[i]]==0)
                        sol[st[i]]=1;

            }
        else
            if(x==2)
            {
                for(int i=1;i<=k;i++)
                    sol[st[i]]=0;
                for(int i=1;i<=k;i++)
                    if(sol[dr[i]]==0)
                        sol[dr[i]]=1;
            }
    }
    int nr=0;
    for(int i=1;i<=n;i++)
        if(sol[i]==1)
        {
            ii=i;
            nr++;
        }
    if(nr==1)
        g<<ii<<"\n";
    else
        g<<"0\n";
    return 0;
}