Cod sursa(job #25527)

Utilizator sima_cotizoSima Cotizo sima_cotizo Data 4 martie 2007 12:51:11
Problema Puteri Scor 40
Compilator c Status done
Runda preONI 2007, Runda 3, Clasa a 10-a Marime 0.73 kb
#include <stdio.h>

#define	FIN "puteri.in"
#define FOUT "puteri.out"
#define MAX 100001

long N, A[MAX][3];
long long nr;

long cmmdc(long x, long y) {
	long r;
	if ( x<y ) {
		r=x;
		x=y;
		y=r;
	}
	while ( y ) {
		r = x%y;
		x = y;
		y = r;
	}
	return x;
}

void solve_inef() {
	long i, j;
	for (i=0; i<N; ++i)
		for (j=i+1; j<N; ++j)
			if ( cmmdc( cmmdc(A[i][0]+A[j][0] , A[i][1]+A[j][1]), A[i][2]+A[j][2] )>1 ) {
				nr++;
//				printf("%ld %ld\n", i,j);
			}
}

int main() {
	long i;

	freopen(FIN, "r", stdin);
	scanf("%ld", &N);
	for (i=0; i<N; ++i)
		scanf("%ld %ld %ld", A[i], A[i]+1, A[i]+2);
	fclose(stdin);

	nr=0;
//	if ((long long)N*N<=10000000)
		solve_inef();

	freopen(FOUT, "w", stdout);
	printf("%lld\n",nr);
	fclose(stdout);
}