Pagini recente » Cod sursa (job #1173937) | Cod sursa (job #2694653) | Cod sursa (job #613686) | Cod sursa (job #1044706) | Cod sursa (job #1260578)
#include <fstream>
#include <algorithm>
#include <limits>
using namespace std;
const int kMaxN = 1005, kMaxM = 1000005, kInfinity = 0x3f3f3f3f;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int N, M, x[kMaxN], y[kMaxN], sol;
double slope[kMaxM];
int main() {
fin >> N;
for (int i = 1; i <= N; ++i)
fin >> x[i] >> y[i];
for (int i = 1; i < N; ++i)
for (int j = i + 1; j <= N; ++j)
slope[M++] = (x[i] == x[j]) ? numeric_limits<double>::infinity() : (1.0 * (y[j] - y[i]) / (x[j] - x[i]));
sort(slope, slope + M);
for (int i = 1, crt = 0; i < M; ++i)
if (slope[i - 1] == slope[i]) {
++crt;
sol += crt;
} else {
crt = 0;
}
fout << sol << "\n";
return 0;
}