Pagini recente » Cod sursa (job #2349370) | Cod sursa (job #58191) | Cod sursa (job #2612626) | Cod sursa (job #2468801) | Cod sursa (job #2605696)
#include <iostream>
#include <fstream>
#include <math.h>
#include <algorithm>
#define NMAX 1500
#define EPSILON 0.001
using namespace std;
ifstream fin("triang.in");
ofstream fout("triang.out");
struct pct {
long double x, y;
};
long double mat[NMAX][NMAX];
pct v[NMAX];
int n;
long double dist(pct a, pct b) {
long double p1 = a.x - b.x, p2 = a.y - b.y;
return p1 * p1 + p2 * p2;
}
void init() {
fin >> n;
for (int i = 0;i < n;++i)
fin >> v[i].x >> v[i].y;
for (int i = 0;i < n;++i)
for (int j = i + 1;j < n;++j)
mat[i][j] = mat[j][i] = dist(v[i], v[j]);
}
int solve() {
int nr = 0;
for (int i = 0;i < n;++i)
for (int j = i + 1;j < n;++j)
for (int k = j + 1;k < n;++k)
{
if (abs(mat[i][j]-mat[j][k])<EPSILON && abs(mat[j][k] - mat[k][i]) < EPSILON)
++nr;
}
return nr;
}
int main()
{
init();
fout << solve();
return 0;
}