Cod sursa(job #24266)

Utilizator DITzoneCAdrian Diaconu DITzoneC Data 1 martie 2007 23:15:09
Problema Puteri Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
#include <string.h>
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define nmax 100111

int A[nmax],B[nmax],C[nmax];
int n;

long long sol;

int cmmdc(int a,int b)
{
	while(a&&b)
		if(a>b)
			a%=b;
		else
			b%=a;
	return a|b;
}

int main()
{
	freopen("puteri.in","r",stdin);
	freopen("puteri.out","w",stdout);
	scanf("%d",&n);
	int i,j;
	FOR(i,0,n)
		scanf("%d %d %d",&A[i],&B[i],&C[i]);
	FOR(i,0,n) FOR(j,i+1,n)
		if(cmmdc(A[i]+A[j],cmmdc(B[i]+B[j],C[i]+C[j]))>1)
			sol++;

	printf("%lld\n",sol);
	return 0;
}