Cod sursa(job #41610)

Utilizator m_dersidanDersidan Mihai m_dersidan Data 28 martie 2007 13:43:15
Problema Puteri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
# include <stdio.h>
# include <string.h>

# define  _fin  "puteri.in"
# define  _fout "puteri.out"

# define  maxn  10000
# define  maxp  144
# define  maxr  65


int p[maxn][3], i, j, k, l, n, sol, aux[3];

inline int min(int x, int y) { return x<y?x:y; }

void readf()
{
	freopen(_fin, "r", stdin);
	for (scanf("%d", &n), i=1; i<=n; i++) scanf("%d%d%d", &p[i][0], &p[i][1], &p[i][2]);
}

void solve()
{
	for (i=1; i<n; i++)
		for (j=i+1; j<=n; j++) {
			for (k=0; k<3; k++) aux[k]=p[i][k]+p[j][k];
			for (l=-1,k=0; k<3; k++)
				if ( aux[k] ) if ( l==-1 || aux[k]<l ) l=aux[k];
			if ( l<2 ) continue;
			if ( !(aux[0]%l) && !(aux[1]%l) && !(aux[2]%l) ) ++sol;
		}
}

int main()
{
	readf();
	solve();
	
	fprintf(fopen(_fout,"w"), "%d\n", sol);
	
	return 0;
}