Cod sursa(job #29593)

Utilizator radamiRadu Patulescu radami Data 9 martie 2007 17:17:40
Problema Balanta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream.h>

void main ()
 {
  int greu[1025],n,m,j,nr,i,usor[1025],poz,k;
  int ts[1025],td[1025];
  std::ifstream f ("balanta.in");
  f>>n>>m;
  for (i=1;i<=n;i++)
   {
    greu[i]=1;
    usor[i]=1;
   }
  for (i=1;i<=m;i++)
   {
    f>>nr;
    for (j=0;j<nr;j++)
     f>>ts[j];
    for (j=0;j<nr;j++)
     f>>td[j];
    f>>k;
    if (k==0)
     for (j=0;j<nr;j++)
      {
       greu[ts[j]]=0;
       greu[td[j]]=0;
       usor[ts[j]]=0;
       greu[ts[j]]=0;
      }
     else
      if (k==1)
       for (j=0;j<nr;j++)
	{
	 usor[ts[j]]=0;
	 greu[td[j]]=0;
	}
	else
	 for (j=0;j<nr;j++)
	  {
	   usor[td[j]]=0;
	   greu[ts[j]]=0;
	  }
   }
  int nrgreu=0,nrusor=0,pozu,pozg;
  for (i=1;i<=n;i++)
   {
    if (greu[i]==1)
     {
      nrgreu++;
      pozg=i;
     }
    if (usor[i]==1)
     {
      nrusor++;
      pozu=i;
     }
   }
  std::ofstream h ("balanta.out");
  if (nrusor==1 || nrgreu==1 && nrgreu!=nrusor)
   {
    if (nrusor==1)
      h<<pozu;
     else
      if (nrgreu==1)
       h<<pozg;
    }
   else
    h<<0;

 }