Pagini recente » Cod sursa (job #1701676) | Cod sursa (job #2145548) | Cod sursa (job #2723425) | Cod sursa (job #378708) | Cod sursa (job #1025058)
#include <fstream>
#include<cmath>
#include<algorithm>
using namespace std;
ifstream cin("triang.in");
ofstream cout("triang.out");
struct punct
{
double x, y;
};
struct distanta
{
float l;
int a, b;
};
short n;
double v[1501][1501];
int k, i, j, x;
punct p[1501];
distanta d[2300000];
int main()
{
cin>>n;
for(i=1; i<=n; i++) cin>>p[i].x>>p[i].y;
for(i=1; i<n; i++)
for(j=i+1; j<=n; j++)
{
d[++k].l=sqrt(pow(p[i].x-p[j].x, 2)+pow(p[i].y-p[j].y, 2));
d[k].a=i;
d[k].b=j;
v[i][j]=d[k].l;
}
for(i=1; i<k; i++)
for(j=i+1; j<=k; j++)
if(d[i].l-d[j].l>0.001) swap(d[i], d[j]);
else
if(abs(d[j].l-d[i].l)<=0.001)
if(d[i].a>d[j].a) swap(d[i], d[j]);
else
if(d[i].a==d[j].a && d[i].b>d[j].b) swap(d[i], d[j]);
for(i=1; i<k; i++)
{
j=i+1;
while(d[j].l-d[i].l<=0.001 && d[i].a==d[j].a)
{
if(v[d[i].b][d[j].b]==d[i].l) x++;
j++;
}
}
cout<<x;
return 0;
}