12816

#include <iostream>
#include <math.h>
//#include <string>

using namespace std;


struct point{
	double x;
	double y;
}p[101];

int isIsosceles(int a,int b,int c)
{
	//dist of p[a],p[b]

	double  d1 = sqrt((p[a].x-p[b].x)*(p[a].x-p[b].x) + (p[a].y-p[b].y)*(p[a].y-p[b].y));
	double  d2 = sqrt((p.x-p[b].x)*(p.x-p[b].x) + (p.y-p[b].y)*(p.y-p[b].y));
	double  d3 = sqrt((p[a].x-p.x)*(p[a].x-p.x) + (p[a].y-p.y)*(p[a].y-p.y));

	//cout<<d1<<" "<<d2<<" "<<d3<<"\n";
	if((d1+d2)<=d3 || (d3+d1)<=d2 || (d3+d2)<=d1)
	return 0;
	else if(d1==d2 && d2==d3 && d1==d3)
	return 0;
	else if(d1!=d2 && d2!=d3 && d1!=d3)
	return 0;

	return 1;
}


int main()
{
	int n;
	double a,b;
	int Isosceles;

	while(cin>>n)
	{
		for(int i=0;i<n;i++)
		{
			cin>>a>>b;
			p[i].x=a;
			p[i].y=b;
		}

		Isosceles = 0;
		for(int i=0;(i-2)<n;i++)
		{
			for(int j=i+1;(j-1)<n;j++)
			{
				for(int k=j+1;k<n;k++)
				{
					//cout<<i<<","<<j<<","<<k<<"\n";
					if(isIsosceles(i,j,k))
					Isosceles++;
				}
			}
		}

		cout<<Isosceles<<"\n";
	}

	return 0;
}

 

Leave a Reply

Your email address will not be published. Required fields are marked *