Cod sursa(job #1077793)

Utilizator iordache.bogdanIordache Ioan-Bogdan iordache.bogdan Data 11 ianuarie 2014 17:37:25
Problema Balanta Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <cstdio>

using namespace std;

int n,m,i,j,k,sol,r;
int a[2000],b[200];
int usor[2000], greu[2000];

int main() {
    FILE *f = fopen("balanta.in", "r");
    FILE *g = fopen("balanta.out", "w");
    fscanf(f,"%d%d", &n, &m);
    while(m) {
        fscanf(f,"%d", &k);
        for(i=1;i<=k;i++)
            fscanf(f,"%d",&a[i]);
        for(i=1;i<=k;i++)
            fscanf(f,"%d",&b[i]);
        fscanf(f,"%d",&r);
        if(r==0)
            for(i=1;i<=k;i++)
                usor[a[i]]=usor[b[i]]=greu[a[i]]=greu[b[i]]=1;
        if(r==1)
            for(i=1;i<=k;i++)
                usor[a[i]]=greu[b[i]]=1;
        if(r==2)
            for(i=1;i<=k;i++)
                greu[a[i]]=usor[b[i]]=1;
        m--;
    }
    k=0;
    for(i=1;i<=n;i++)
        if(usor[i]==0){
            sol=i;
            k++;
        }
    if(k!=1){
        k=0;
        for(i=1;i<=n;i++)
            if(greu[i]==0){
                sol=i;
            k++;
        }
    }
    if(k==1)
        fprintf(g,"%d\n", sol);
    else
        fprintf(g,"0\n");
    return 0;
}