Cod sursa(job #25373)

Utilizator wazupPricop Mircea wazup Data 4 martie 2007 12:17:29
Problema Balanta Scor 70
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 10-a Marime 1.37 kb
#include <fstream.h>
int ok,nr,a[1050],n,i,r,k,line[1050],j,unu,doi,zero,indu,indd,indz;
int main()
{
ifstream fin("balanta.in");
ofstream fout("balanta.out");
fin>>n>>nr;
for (i=0;i<nr;i++)
  { fin>>k;
    k=k*2;
    for (j=0;j<k;j++)
    fin>>line[j];
    fin>>r;
    if (r==1)
      { for (j=0;j<k/2;j++)
	  if (a[line[j]]==0)
	    a[line[j]]=2;
	  else
	    if (a[line[j]]==1)
	     a[line[j]]=-1;
	for (j=k/2;j<k;j++)
	  if (a[line[j]]==0)
	    a[line[j]]=1;
	  else
	    if (a[line[j]]==2)
	     a[line[j]]=-1;
      }
    if (r==2)
      { for (j=0;j<k/2;j++)
	  if (a[line[j]]==0)
	    a[line[j]]=1;
	  else
	    if (a[line[j]]==2)
	     a[line[j]]=-1;
	for (j=k/2;j<k;j++)
	  if (a[line[j]]==0)
	    a[line[j]]=2;
	  else
	    if (a[line[j]]==1)
	     a[line[j]]=-1;
      }
    if (r==0)
      for (j=0;j<k;j++)
	a[line[j]]=-1;
  }
for (i=1;i<=n;i++)
  if (a[i]==1)
   {unu++;indu=i;}
  else
   if (a[i]==2)
    {doi++;indd=i;}
   else
     if(a[i]==0)
      {zero++;indz=i;}
if (unu==1)
  if (doi!=1&&zero!=1)
   {fout<<indu<<'\n'; return 0; }
  else
   {fout<<0<<'\n'; return 0;}
if (doi==1)
  if (unu!=1&&zero!=1)
   {fout<<indd<<'\n'; return 0; }
  else
   {fout<<0<<'\n'; return 0;}
if (zero==1)
  if (doi!=1&&unu!=1)
   {fout<<indz<<'\n'; return 0; }
  else
   {fout<<0<<'\n'; return 0;}
fout<<0<<'\n';
return 0;
}