Cod sursa(job #214833)

Utilizator ada_sAda-Mihaela Solcan ada_s Data 16 octombrie 2008 13:07:49
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
int main()
{
	freopen("perechi.in", "r", stdin);
	freopen("perechi.out", "w", stdout);
	scanf("%d", &n);
	for (i=0; i<n; i++)
		scanf("%d", &x[i], &y[i], &z[i]);
	for (p=2; p<128; p++)
	{
		matrice(p);
		perechi+=calcul(p);
	}//for p
	return 0;
}//main

void matrice(int p)
{
	memset(a, 0, sizeof(a));
	for (i=0; i<n; i++)
		++a[x[i]%p][y[i]%p][z[i]%p];
}//matrice

int calcul(int p)
{
	int s=0;
	for (i=0; i<(p/2); i++)
		for (j=0; j<p; j++)
			for (k=0; k<p; k++)
			{
				if (!((i==(i-p))&&(j==(j-p))&&(k==(k-p))))
					s+=a[i][j][k]*a[i-p][j-p][k-p];
				else
					s+=a[i][j][k]*(a[i][j][k]-1)/2;
			}//for k
}//calcul