Cod sursa(job #1077801)

Utilizator iordache.bogdanIordache Ioan-Bogdan iordache.bogdan Data 11 ianuarie 2014 17:45:08
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
#include <fstream>

using namespace std;

int n, m, k, i, j, x, y, r;
int v[1030];
int a[1030], b[1030], c[1030];

int main(){
    ifstream f("balanta.in");
    ofstream g("balanta.out");
    f>>n>>m;
    for(i=1; i<=n; i++)
        v[i]=c[i]=1;
    for(j=1; j<=m; j++)
    {
        for(i=1; i<=n; i++)
            a[i]=b[i]=0;
        f>>x;
        for(i=1; i<=x; i++)
        {
            f>>y;
            a[y]=1;
        }
        for(i=1; i<=x; i++)
        {
            f>>y;
            b[y]=1;
        }
        f>>r;
        if(r==0)
            for(i=1; i<=n; i++)
            {
                if(v[i] && (a[i] || b[i]))
                    v[i]=0;
                if(c[i] && (a[i] || b[i]))
                    c[i]=0;
            }
        else if(r==1)
            for(i=1; i<=n; i++)
            {
                c[i]=c[i]*a[i];
                v[i]=v[i]*b[i];
            }
        else
            for(i=1; i<=n; i++)
            {
                c[i]=c[i]*b[i];
                v[i]=v[i]*a[i];
            }
    }
    k=0;
    for(i=1; i<=n; i++)
        if(v[i])
            if(!k)
                k=i;
            else
                k=-1;
    for(i=1; i<=n; i++)
        if(c[i])
            if(!k)
                k=i;
            else
                k=-1;
    if(k==-1)
        g<<"0\n";
    else
        g<<k<<"\n";
    return 0;
}