Pagini recente » Cod sursa (job #2022449) | Cod sursa (job #1650876) | Cod sursa (job #2753239) | Cod sursa (job #833614) | Cod sursa (job #1541768)
#include <cstdio>
#include <set>
#include <cmath>
using std::multiset;
const int MAX_N = 1500;
const double EPS = 1e4;
struct Point {
double x, y;
};
Point v[MAX_N];
multiset <double> dist;
int main(void) {
freopen("triang.in", "r", stdin);
freopen("triang.out", "w", stdout);
int N, q;
double d;
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%lf%lf", &v[i].x, &v[i].y);
}
fclose(stdin);
q = 0;
for (int i = 0; i < N; i++) {
dist.clear();
for (int j = i + 1; j < N; j++) {
d = 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));
d = round(d * EPS) / EPS;
q += dist.count(d);
dist.insert(d);
}
}
printf("%d\n", q);
fclose(stdout);
return 0;
}