Cod sursa(job #45324)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 1 aprilie 2007 13:24:17
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<fstream>
using namespace std;

int a[65][65][65],i,j,k,u,v,w;
long N,X,r;

fstream fin,fout;

int main(void)
{
fin.open("puteri.in",ios::in);
fout.open("puteri.out",ios::out);
for (i=0;i<=64;i++)
	for (j=0;j<=64;j++)
		for (k=0;k<=64;k++)
			a[i][j][k]=0;
fin>>N;
for (i=1;i<=N;i++)
	{
	fin>>u>>v>>w;
	a[u][v][w]++;
	}
X=0;
for (u=0;u<=64;u++)
	for (v=0;v<=64;v++)
		for (w=0;w<=64;w++)
			if (a[u][v][w]>0)
			{
			r=a[u][v][w];
			X=X+(r-1)*r/2;
			i=u; j=v; 
			if (i%2+j%2==0)
			  for (k=w+2;k<=64;k=k+2)
				if (a[i][j][k]>0) 
					X=X+r*a[i][j][k];
			if (i%2==0)
			  for (j=v+2;j<=64;j=j+2)
				for (k=w%2;k<=64;k=k+2)
					if (a[i][j][k]>0) 
						X=X+r*a[i][j][k];
			for (i=u+2;i<=64;i=i+2)
				for (j=v%2;j<=64;j=j+2)
					for (k=w%2;k<=64;k=k+2)
						if (a[i][j][k]>0)
							X=X+r*a[i][j][k];
			}
fout<<X<<endl;
fin.close();
fout.close();
return 0;
}