Pagini recente » Cod sursa (job #533075) | Cod sursa (job #240134) | Cod sursa (job #3154246) | Cod sursa (job #1464551) | Cod sursa (job #2701518)
#include<fstream>
#include<algorithm>
#include<cmath>
using namespace std;
ifstream cin("triang.in");
ofstream cout("triang.out");
int n;
struct cord{
double x,y;
};
int cmp(cord a,cord b){
if(a.x==b.x) return a.y<b.y;
return a.x<b.x;
}
/*int cautbin(int *v,int x){
int high=n,mid;
while (high - low > 1) {
mid = (low + high) / 2;
if (v[mid] < x) {
low = mid;
} else { // v[mid] >= x
high = mid;
}
}
if ( high ==n+1 || v[high]!=x) {
return low;
} else {
return high;
}
}*/
cord v[15001];
double a[15001];
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>v[i].x>>v[i].y;
}
sort(v,v+n,cmp);
int k=0;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
double val=sqrt( ( (v[i].x-v[j].x)*(v[i].x-v[j].x) )+( (v[i].y-v[j].y)*(v[i].y-v[j].y)));
a[k++]=val;
}
}
int cnt=0;
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++)
if(a[i]==a[j]){ cnt++; }
}
cout<<cnt;
return 0;
}