Cod sursa(job #1117491)

Utilizator margikiMargeloiu Andrei margiki Data 23 februarie 2014 16:28:00
Problema Balanta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
# include <fstream>
using namespace std;
ifstream f("balanta.in");
ofstream g("balanta.out");
int k,rez,i,j,n,m,G[1050],U[1050],a[1050],b[1050],v1,v2,I,J;
void initializare ()
{
    for (int i=1; i<=n; ++i)
        G[i]=0,U[i]=0;
}
int main ()
{
    f>>n>>m;
    for (i=1; i<=m; ++i)
    {
        f>>k;
        for (j=1; j<=k; ++j)
            f>>a[j];
        for (j=1; j<=k; ++j)
            f>>b[j];
        f>>rez;
        if (rez==0)
        {
            for (j=1; j<=k; ++j)
                G[a[j]]=-1,U[a[j]]=-1;
            for (j=1; j<=n; ++j)
                ++G[j],++U[j];
        }
        else if (rez==1)
        {
            for (j=1; j<=k; ++j)
                if (G[a[j]]==i-1) ++G[a[j]];
            for (j=1; j<=k; ++j)
                if (U[b[j]]==i-1) ++U[b[j]];
        }
        else if (rez==2)
        {
            for (j=1; j<=k; ++j)
                if (G[b[j]]==i-1) ++G[b[j]];
            for (j=1; j<=k; ++j)
                if (U[a[j]]==i-1) ++U[a[j]];
        }
    }
    for (j=1; j<=n; ++j)
    {
        if (G[j]==m) ++v1,I=j;
        if (U[j]==m) ++v2,J=j;
    }
    if (v1==0 && v2==1) g<<J<<"\n";
       else if (v1==1 && v2==0) g<<I<<"\n";
           else g<<"0\n";

    return 0;
}