Cod sursa(job #2701518)

Utilizator Paul281881818818181991919191881818Draghici Paul Paul281881818818181991919191881818 Data 31 ianuarie 2021 16:08:33
Problema Triang Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#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;
}