Pagini recente » Statistici Dirva Nicolae (NicuDirva) | Statistici Vasile Ion (vason0000) | Cod sursa (job #2492912) | Istoria paginii utilizator/saltysalt | Cod sursa (job #2596940)
#include <fstream>
#include <algorithm>
#include <vector>
#define x first
#define y second
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int N, sol;
vector<double> panta;
pair<double, double> a[1003];
int main() {
f >> N;
for (int i = 1; i <= N; i++) f >> a[i].x >> a[i].y;
for (int i = 1; i <= N; i++) {
for (int j = i + 1; j <= N; j++) {
panta.push_back(-1);
if (a[i].x != a[j].x) {
panta.back() = (a[i].y - a[j].y) / (a[i].x - a[j].x);
}
}
}
sort(panta.begin(), panta.end());
int i;
for (i = 0; i < panta.size() && panta[i] == -1; i++);
int lg = 0;
for (i++; i < panta.size(); i++) {
if (panta[i] != panta[i - 1]) {
sol += lg * (lg + 1) / 2;
lg = 0;
} else
lg++;
}
g << sol << "\n";
return 0;
}