Pagini recente » Cod sursa (job #1824007) | Cod sursa (job #2080204) | Cod sursa (job #2714899) | Cod sursa (job #2398624) | Cod sursa (job #2824581)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
const int N = 1000;
pair <int, int> v[N + 1];
int main(){
int n;
fin >> n;
for(int i = 0; i < n; i++) fin >> v[i].first >> v[i].second;
vector <double> comb;
for(int i = 0; i < n; i++)
for(int j = i + 1; j < n; j++)
comb.push_back((double)(v[i].first - v[j].first)/(v[i].second - v[j].second));
sort(comb.begin(), comb.end());
int ans = 0;
n = comb.size();
for(int i = 0; i < n; i++){
int nr = 1;
while(i < n - 1 && comb[i] == comb[i + 1]){
i++;
nr++;
}
ans += nr * (nr - 1) / 2;
}
fout << ans;
return 0;
}