Cod sursa(job #45341)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 1 aprilie 2007 13:30:48
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<fstream.h>
int main(){
ifstream fin("puteri.in");
ofstream fout("puteri.out");
long N,a[10000][3],nr=0;;
fin>>N;
for (long i=0;i<N;i++)
    fin>>a[i][0]>>a[i][1]>>a[i][2];
for (long u=0;u<N-1;u++)
    for (long j=u+1;j<N;j++){
	      short ok=0;
	 if (a[u][0]+a[u][1]+a[u][2]+a[j][0]+a[j][1]+a[j][2]==1)
	     ok=0;
	 else
	    if (a[u][0]+a[j][0]==1)
	       ok=0;
	    else
	       if (a[u][1]+a[j][1]==1)
		   ok=0;
	       else
		   if (a[u][2]+a[j][2]==1)
		       ok=0;
	 else  {
	     short S=a[u][0]+a[j][0]+a[u][1]+a[j][1]+a[u][2]+a[j][2];
	    if (S==a[u][0]+a[j][0])
		ok=1;
	    else
	       if (S==a[u][1]+a[j][1])
		  ok=1;
	       else
		  if (S==a[u][2]+a[j][2])
		      ok=1;
		  else{
		  short x=a[u][0]+a[j][0];
		  short y=a[u][1]+a[j][1];
		  short z=a[u][2]+a[j][2];
		  if (x==z&&y==z)
			  ok=1;
		  else
		     if (x==0&&z==y)
			 ok=1;
		     else
			if (z==0&&y==x)
			    ok=1;
			else
			   if (y==0&&z==x)
			       ok=1;}
			 if ((a[u][0]+a[j][0])%2==0&&(a[u][1]+a[j][2])%2==0&&(a[u][2]+a[j][2])%2==0)
			      ok=1; }
	 if (ok==1)
	     nr++;    }
fout<<nr;
fin.close();
fout.close();
return 0;
}