Cod sursa(job #1077959)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 11 ianuarie 2014 21:01:15
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream>
using namespace std;
ifstream fin ("balanta.in");
ofstream fout ("balanta.out");

int g[1030] , u[1030] , v[1030],x,y,i,n,m,n1,n2,i1,i2;

int main () {

    fin>>n>>m;
    while (m--) {

        fin>>x;
        for (i=1;i<=2*x;i++)
            fin>>v[i];
        fin>>y;
        if (y==0) {
            for (i=1;i<=2*x;i++)
                u[v[i]]++,g[v[i]]++;
        }else {
            for (i=1;i<=n;i++)
                u[i]++,g[i]++;
            if (y==1) {
                for (i=1;i<=x;i++)
                    g[v[i]]--;
                for (;i<=2*x;i++)
                    u[v[i]]--;
            }else {
                for (i=1;i<=x;i++)
                    u[v[i]]--;
                for (;i<=2*x;i++)
                    g[v[i]]--;
            }
        }
    }

    for (i=1;i<=n;i++) {
        if (u[i]==0) {
            i1=i;
            n1++;
        }
        if (g[i]==0){
            n2++;
            i2=i;
        }
    }

    if ((n1==1&&n2==0) || (n1==0&&n2==1)){

        if (n1==1)
            fout<<i1<<"\n";
        else
            fout<<i2<<"\n";
    }else
        fout<<"0\n";


    return 0;
}