Pagini recente » Cod sursa (job #2575658) | Cod sursa (job #3185997) | Cod sursa (job #956432) | Cod sursa (job #3246402) | Cod sursa (job #1560795)
#include <algorithm>
#include <iostream>
#include <fstream>
#include <map>
#define INF 1000000
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
int sol , nr , n , x = 1;
double panta[1000005];
pair <double , double> a[1005];
int main() {
f >> n;
for(int i = 1 ; i <= n ; ++i) {
f >> a[i].first >> a[i].second;
}
for(int i = 1 ; i <= n ; ++i) {
for(int j = i + 1 ; j <= n ; ++j) {
if(a[j].second == a[i].second) {
panta[++nr] = INF;
}
else {
panta[++nr] = (a[j].first - a[i].first) / (a[j].second - a[i].second);
}
}
}
sort(panta + 1 , panta + nr + 1);
for(int i = 2 ; i <= nr ; ++i) {
if(panta[i] == panta[i - 1]) {
++x;
}
else {
sol = sol + x * (x - 1) / 2;
x = 1;
}
}
sol = sol + x * (x - 1) / 2;
g << sol;
return 0;
}