Cod sursa(job #25123)

Utilizator supernovaMihai Pantis supernova Data 4 martie 2007 10:55:33
Problema Puteri Scor 40
Compilator c Status done
Runda preONI 2007, Runda 3, Clasa a 10-a Marime 0.72 kb
#include <stdio.h>

int x[100001][4],n;

void citire(void)
{
	int i,j;
	FILE *f=fopen("puteri.in","r");
	fscanf(f,"%d",&n);
	for(i=0;i<n;i++)
		for(j=0;j<3;j++) fscanf(f,"%d",&x[i][j]);
	fclose(f);
}

int cmmdc(int a,int b)
{
	if(b==0) return a;
	return cmmdc(b,a%b);
}

void output(int nr)
{
	FILE *f=fopen("puteri.out","w");
	fprintf(f,"%d\n",nr);
	fclose(f);
}

int main(void)
{
	int i,j,a,b,c,nr=0,expo;
	citire();

	for(i=0;i<n;i++)
		for(j=0;j<i;j++)
		{
			a=x[i][0]+x[j][0];
			b=x[i][1]+x[j][1];
			c=x[i][2]+x[j][2];
			
			expo=a;
			if(a==0) expo=b;
			if(a==0&&b==0) expo=c;
			expo=cmmdc(expo,b);
			expo=cmmdc(expo,c);
			if(expo>1) nr++; 
		}
	output(nr);


	return 0;
}