Cod sursa(job #292133)

Utilizator taloibogdanTaloi Bogdan Cristian taloibogdan Data 30 martie 2009 19:47:12
Problema Balanta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<stdio.h>
long n,m,i,nr,a[1040],b[1040],st,j,g[1040],u[1040],fa[1040],fb[1040],ng,nu,gul,uul;
int main()
{
 freopen("balanta.in","r",stdin);
 freopen("balanta.out","w",stdout);
 scanf("%ld%ld",&n,&m);
 for(i=1;i<=m;++i)
    {scanf("%ld",&nr);
     for(j=1;j<=nr;++j)
        {scanf("%ld",&a[j]);
         fa[a[j]]=i;}
     for(j=1;j<=nr;++j)
        {scanf("%ld",&b[j]);
         fb[b[j]]=i;}
     scanf("%ld",&st);
     if(st==0)for(j=1;j<=nr;++j)g[a[j]]=1,u[a[j]]=1,g[b[j]]=1,u[b[j]]=1;
     if(st==1)
       for(j=1;j<=n;++j)
          {if(fa[j]!=i)g[j]=1;
           if(fb[j]!=i)u[j]=1;}
     if(st==2)
       for(j=1;j<=n;++j)
          {if(fb[j]!=i)g[j]=1;
           if(fa[j]!=i)u[j]=1;}}
 ng=0;
 nu=0;
 gul=0;
 uul=0;
 for(i=1;i<=n;++i)
    {if(!g[i])++ng,gul=i;
     if(!u[i])++nu,uul=i;}
 if(ng==1&&nu==0)printf("%ld\n",gul);
 else
 if(ng==0&&nu==1)printf("%ld\n",uul);
 else
 printf("0\n");
 return 0;
}