Cod sursa(job #1527688)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 18 noiembrie 2015 16:32:14
Problema Trapez Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iomanip>
#include <fstream>
#include <map>
using namespace std;

struct coord {
	int x, y;
}v[1001];
int n, i, j, k, l;
double p = 0;
long long r = 0;
map <double, int> pante;

int main() {
	ifstream in("trapez.in");
	in >> n;
	for (i = 0; i < n; ++i) {
		in >> v[i].x >> v[i].y;
	}
	for (i = 0; i < n; ++i) {
		for (j = i + 1; j < n; ++j) {
			if (v[i].x == v[j].x)
				p = 1000000000;
			else
				p = (double)(v[i].y - v[j].y) / (v[i].x - v[j].x);
			pante[p]++;
		}
	}
	for (auto i : pante) {
		r += i.second * (i.second - 1) / 2;
	}
	in.close();
	ofstream out("trapez.out");
	out << r;
	out.close();
	return 0;
}