Cod sursa(job #1221953)

Utilizator sebinechitasebi nechita sebinechita Data 21 august 2014 18:46:09
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("balanta.in");
ofstream fout("balanta.out");
#define MAX 1025

int a[MAX], b[MAX], u[MAX], g[MAX], viz[MAX];

int main()
{
    int n, m, k, i, c, s=0;
    fin>>n>>m;
    while(m--)
    {
        memset(viz, 0, sizeof(viz));
        fin>>k;
        for(i=1;i<=k;i++)
        {
            fin>>a[i];
            viz[a[i]]=1;
        }
        for(i=1;i<=k;i++)
        {
            fin>>b[i];
            viz[b[i]]=1;
        }
        fin>>c;
        if(c==0)
        {
            for(i=1;i<=k;i++)
            {
                g[a[i]]=1;
                u[a[i]]=1;
                g[b[i]]=1;
                u[b[i]]=1;
            }
        }
        if(c==1)
        {
            for(i=1;i<=k;i++)
            {
                g[a[i]]=1;
                u[b[i]]=1;
            }
            for(i=1;i<=n;i++)
            {
                if(!viz[i])
                {
                    u[i]=g[i]=1;
                }
            }
        }
        if(c==2)
        {
            for(i=1;i<=k;i++)
            {
                u[a[i]]=1;
                g[b[i]]=1;
            }
            for(i=1;i<=n;i++)
            {
                if(!viz[i])
                {
                    u[i]=g[i]=1;
                }
            }
        }
    }
    int f=0;
    for(i=1;i<=n;i++)
    {
        s+=(u[i]==0);
        s+=(g[i]==0);
        if(u[i]!=g[i])
            f=i;
    }
    if(s!=1)
        fout<<"0\n";
    else
        fout<<f<<"\n";

}