Cod sursa(job #25843)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 4 martie 2007 15:13:59
Problema Puteri Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
long long int aux,i,j,d[130][130],n,a[100000],b[100000],c[100000],sol,p,q,r;
long int cmmdc(long long int p,long long int q)
{
    while(p)
    {q=q%p;aux=p;p=q;q=aux;}
    return q;
}
int main()
{       for(i=0;i<=128;i++)
	{d[i][i]=i;d[i][0]=i;d[0][i]=i;}
	for(i=1;i<=127;i++)
	for(j=i+1;j<=128;j++)
	{ p=i;q=j;
	  while(p)
	  { q=q%p;aux=p;p=q;q=aux;}
	    d[i][j]=q;
	    d[j][i]=q;
	}
	FILE *f;
	f=fopen("puteri.in","r");
	fscanf(f,"%lld",&n);
	for(i=0;i<n;i++)
	fscanf(f,"%lld%lld%lld",&a[i],&b[i],&c[i]);
	fclose(f);
	for(i=0;i<n-1;i++)
	for(j=i+1;j<n;j++)
	{p=a[i]+a[j];
	 q=b[i]+b[j];
	 r=c[i]+c[j];
	 if(d[d[p][q]][r]>1)sol++;
	}
	f=fopen("puteri.out","w");
	fprintf(f,"%lld\n",sol);
	fclose(f);
	return 0;
}