Cod sursa(job #1077947)

Utilizator TarabanDragosTaraban Dragos-Petru TarabanDragos Data 11 ianuarie 2014 20:45:59
Problema Balanta Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include<cstdio>
int n,m,u[1500],gr[1500],st[1500],dr[1500],i,j,nu,ng,w,k,ok,n1,n2;
FILE *f,*g;
int main(){
    f=fopen("balanta.in","r");
    g=fopen("balanta.out","w");
    fscanf(f,"%d%d",&n,&m);
    for(i=1;i<=n;i++){
        u[i]=1;
        gr[i]=1;
    }
    for(i=1;i<=n;i++){
        fscanf(f,"%d",&k);
        for(j=1;j<=k;j++){
            fscanf(f,"%d",&st[j]);
        }
        for(j=1;j<=k;j++){
            fscanf(f,"%d",&dr[j]);
        }
        fscanf(f,"%d",&w);
        if(w==0){
            for(j=1;j<=k;j++){
                u[st[j]]=0;
                gr[st[j]]=0;
                u[dr[j]]=0;
                gr[dr[j]]=0;
            }
        }
        else if(w==1){
            for(j=1;j<=k;j++){
                u[st[j]]=0;
                gr[dr[j]]=0;
            }
        }
        else{
            for(j=1;j<=k;j++){
                u[dr[j]]=0;
                gr[st[j]]=0;
            }
        }
    }
    for(i=1;i<=n;i++){
        if(u[i]==1){
            nu++;
            n1=i;
        }
        if(gr[i]==1){
            ng++;
            n2=i;
        }
    }
    if(nu!=1&&ng!=1)
        fprintf(g,"0");
    else
        if(n1==1)
            fprintf(g,"%d",n1);
        else
            fprintf(g,"%d",n2);
    fclose(f);
    fclose(g);
    return 0;
}