Cod sursa(job #94719)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 24 octombrie 2007 22:45:57
Problema Balanta Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include<fstream.h>
int N,M,st[15000],dr[15000],k,usor[15000],r,greu[15000],nr,poz,nr1,poz1;
int main(){
ifstream fin("balanta.in");
ofstream fout("balanta.out");
fin>>N>>M;
for (int i=0;i<M;i++){
    fin>>k;
    for (int j=0;j<k;j++)
       fin>>st[j];
    for (int l=0;l<k;l++)
	fin>>dr[l];
    fin>>r;
    if (r==0)
       for (int e=0;e<k;e++){
	   usor[st[e]]=1;
	   greu[st[e]]=1;
	   usor[dr[e]]=1;
	   greu[dr[e]]=1;
    }
    else
      if (r==1){
	  for (int t=0;t<k;t++){
	  if (greu[dr[t]]!=1)
	     greu[dr[t]]=2;
	  if (usor[st[t]]!=1)
	     usor[st[t]]=2;}}
      else
	for (int w=0;w<k;w++){
	   if (greu[st[w]]!=1)
	    greu[st[w]]=2;
	   if (usor[dr[w]]!=1)
	    usor[dr[w]]=2;}
     }
for (int rr=0;rr<=N;rr++)
   if (greu[rr]==2&&usor[rr]!=2){
      nr++;
      poz=rr;}
 for (int ee=0;ee<=N;ee++)
    if (usor[ee]==2&&greu[ee]!=2){
       nr1++;
       poz1=ee;}
if (nr==1&&nr1!=1)
   fout<<poz;
else
   if (nr1==1&&nr!=1)
       fout<<poz1;
   else
      fout<<"0\n";
fin.close();
fout.close();
return 0;
}