Pagini recente » Cod sursa (job #1720936) | Cod sursa (job #1849482) | Istoria paginii runda/1_martie_simulare_oji_2024_clasele_11_12/clasament | Cod sursa (job #2260759) | Cod sursa (job #2118957)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
vector <double> m;
pair <int, int> p[1005];
int n, nr, counter;
double val;
inline int sum(int N){
return (N*(N+1))/2;
}
int main(){
fin >> n;
for(int i = 0; i < n; i++)
fin >> p[i].first >> p[i].second;
for(int i = 0; i < n - 1; i++)
for(int j = i + 1; j < n; j++){
m.push_back(1.0*(p[i].second - p[j].second)/(p[i].first - p[j].first));
}
sort(m.begin(), m.end());
for(vector <double>::iterator it = m.begin(); it != m.end(); it++){
if(val == *it)
counter++;
else{
val = *it;
nr += sum(counter);
counter = 0;
}
}
cout << nr;
fout << nr;
return 0;
}