Pagini recente » Cod sursa (job #1540021) | Cod sursa (job #1342408) | Cod sursa (job #2084797) | Cod sursa (job #1691397) | Cod sursa (job #2916120)
#include <fstream>
#include <unordered_map>
#include <iostream>
using namespace std;
int main() {
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int n;
int x[1000], y[1000];
long long s = 0;
unordered_map<double, int> um;
fin >> n;
for (int i = 0; i < n; i++) {
fin >> x[i] >> y[i];
for (int j = 0; j < i; j++)
if (x[j] == x[i])
um[-1]++;
else if (y[j] == y[i])
um[0]++;
else
um[(double)(y[j] - y[i]) / (x[j] - x[i])]++;
}
for (auto it = um.begin(); it != um.end(); it++)
s += it->second * (it->second - 1);
fout << (s >> 1);
fin.close();
fout.close();
return 0;
}