Cod sursa(job #2605696)

Utilizator irimia_alexIrimia Alex irimia_alex Data 25 aprilie 2020 17:42:45
Problema Triang Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#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;
}