Cod sursa(job #51052)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 9 aprilie 2007 20:05:10
Problema Balanta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 kb
#include<stdio.h>
long a[1200],b[1200],frcv[1200],m,n,i,k,j,semn,contor1,contor2,pozitie1,pozitie2,contor3,contor4,pozitie3,pozitie4,mat[1200][1200],semnu[1200];
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",&k);
  for(j=1;j<=2*k;j++)
   scanf("%ld",&b[i][j]);
  scanf("%ld",&semnu[i]);
  }
  if (semn==1)
   {
    for(j=1;j<=k;j++)
     {
      if (a[b[j]]==-1) {a[b[j]]=0;frcv[b[j]]=1;}
      if (a[b[j]]==0&&frcv[b[j]]==0) a[b[j]]=1;
     }
    for(j=k+1;j<=2*k;j++)
     {
     if (a[b[j]]==1) {a[b[j]]=0;frcv[b[j]]=1;}
     if (a[b[j]]==0&&frcv[b[j]]==0) a[b[j]]=-1;
    }
   }
   else
    if (semn==2)
    {
     for(j=1;j<=k;j++)
    {
      if (a[b[j]]==1) {a[b[j]]=0;frcv[b[j]]=1;}
      if (a[b[j]]==0&&frcv[b[j]]==0) a[b[j]]=-1;
     }
    for(j=k+1;j<=2*k;j++)
     {
     if (a[b[j]]==-1) {a[b[j]]=0;frcv[b[j]]=1;}
     if (a[b[j]]==0&&frcv[b[j]]==0) a[b[j]]=1;
    }
   }
   else
    if (semn==0)
   for(j=1;j<=2*k;j++)
   {
   a[b[j]]=0;
   frcv[b[j]]=1;
   }
   contor1=0;
   contor2=0;
  for(j=1;j<=2*k;j++)
   {
    if (a[b[j]]==1) {contor1++;pozitie1=b[j];}
    if (a[b[j]]==-1) {contor2++;pozitie2=b[j];}
  }
  if (contor1==1&&contor2==0) {printf("%ld\n",pozitie1);return 0;}
  if (contor2==1&&contor1==0) {printf("%ld\n",pozitie2);return 0;}
 }
 printf("0\n");
 return 0;
}