Cod sursa(job #45389)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 1 aprilie 2007 14:20:37
Problema Puteri Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;

struct triplet
{
int u,v,w;
};

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


int b[129][129],u,v,w;
triplet a[100001];
long N,X,r,i,j;

fstream fin,fout;

int main(void)
{
fin.open("puteri.in",ios::in);
fout.open("puteri.out",ios::out);

for (i=0;i<=128;i++)
	for (j=0;j<=128;j++)
		b[i][j]=cmmdc(i,j);
			
fin>>N;
for (i=1;i<=N;i++)
	{
	fin>>a[i].u>>a[i].v>>a[i].w;
	}
X=0;
for (i=1;i<N;i++)
	for (j=i+1;j<=N;j++)
		{
		u=a[i].u+a[j].u; 
		v=a[i].v+a[j].v; 
		w=a[i].w+a[j].w;
		if (b[u][b[v][w]]>1) X++;
		}
		
fout<<X<<endl;
fin.close();
fout.close();
return 0;
}