Cod sursa(job #25315)

Utilizator devilkindSavin Tiberiu devilkind Data 4 martie 2007 11:56:59
Problema Puteri Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 10-a Marime 0.7 kb
#include <stdio.h>
#include <string.h>
#define NMAX 100001

FILE *f = fopen("puteri.in","rt"), *g = fopen("puteri.out","wt");

long int a[NMAX][3],i,j,k,n,l,m,x1,x2,x3,d,sol;

long int cmmdc(long int x,long int y)
{
long int r,a,b;
a=x;b=y;
if (a==0) return b;
if (b==0) return a;
if (a==1) return 1;
if (b==1) return 1;

r=a%b;
while (r)
	{
	r=a%b;
	a=b;
	b=r;
	}
return a;
}

void citire()
{
fscanf(f,"%ld",&n);
for (i=1;i<=n;i++)
	{
	fscanf(f,"%ld %ld %ld",&a[i][0],&a[i][1],&a[i][2]);
	for (j=1;j<i;j++)
		{
		x1=a[i][0]+a[j][0];
		x2=a[i][1]+a[j][1];
		x3=a[i][2]+a[j][2];
		d=cmmdc(x1,x2);
		d=cmmdc(d,x3);
		if (d>1) sol++;
		}
	}
fprintf(g,"%ld",sol);
}

int main()
{
citire();
fclose(f);
fclose(g);
return 0;
}