Cod sursa(job #294739)

Utilizator bog29Antohi Bogdan bog29 Data 2 aprilie 2009 18:50:34
Problema Puteri Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream.h>
ofstream out("puteri.out");
int n;
struct numere
{	int a,b,c;
};
numere nr[100000];
int cmmdc(int a,int b)
{	if(a%b==0)return b;
	else return cmmdc(b,a%b);
}
int pie(int x,int y,int z)
{	if((x==0)&&(y==0))return 0;
	if((x==0)&&(z==0))return 0;
	if((y==0)&&(z==0))return 0;
	if(x==0)
	{	if(cmmdc(y,z)==1)return 1;
		else return 0;
	}
	if(y==0)
	{	if(cmmdc(x,z)==1)return 1;
		else return 0;
	}
	if(z==0)
	{	if(cmmdc(y,x)==1)return 1;
		else return 0;
	}
	if(cmmdc(cmmdc(x,y),cmmdc(y,z))==1)return 1;
	else return 0;
}	
int ispower(int i,int j)
{	int x,y,z;
	x=nr[i].a+nr[j].a;
	y=nr[i].b+nr[j].b;
	z=nr[i].c+nr[j].c;
	if(pie(x,y,z))return 0;
	else return 1;
}	
int main()
{	ifstream in("puteri.in");
	int i,j,k=0;
	in>>n;
	for(i=1;i<=n;i++)
		in>>nr[i].a>>nr[i].b>>nr[i].c;
	in.close();
	for(i=1;i<=n;i++)
		for(j=i+1;j<=n;j++)
		{	if(ispower(i,j))k++;
		}
	out<<k;
	out.close();
	return 0;
}