Pagini recente » Cod sursa (job #1498613) | Cod sursa (job #1025653) | Cod sursa (job #370819) | Cod sursa (job #1884815) | Cod sursa (job #819470)
Cod sursa(job #819470)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
#define MAXN 1100
int N, REZ;
int nrPante;
pair<int, int> p[MAXN];
double pante[MAXN * MAXN];
int main() {
fin >> N;
for (int i = 1; i <= N; ++i) {
int x, y;
fin >> x >> y;
p[i] = (make_pair(x, y));
}
for (int i = 1; i <= N; ++i)
for (int j = i + 1; j <= N; ++j)
pante[++nrPante] = (double)(p[i].second - p[j].second) / (double)(p[i].first - p[j].first);
sort (pante + 1, pante + nrPante + 1);
for (int i = 1; i <= nrPante; ++i) {
int nr = 1;
while (i + nr <= nrPante && pante[i + nr] == pante[i])
++nr;
REZ += (nr * (nr - 1)) / 2;
}
fout << REZ;
return 0;
}