Pagini recente » Cod sursa (job #96558) | Cod sursa (job #643455) | Cod sursa (job #1743590) | Cod sursa (job #2180720) | Cod sursa (job #1771798)
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
freopen("trapez.in", "r", stdin);
freopen("trapez.out", "w", stdout);
int n;
scanf("%d", &n);
vector <double> x, y;
for(int i=1; i<=n; i++)
{
int X, Y;
scanf("%d%d", &X, &Y);
x.push_back(X);
y.push_back(Y);
}
vector <double> v;
for(int i=0; i<n; i++)
for(int j=i+1; j<n; j++)
v.push_back (1.0*(y[i]-y[j])/(x[i]-x[j]));
sort(v.begin(), v.end());
int k=1, ans=0;
for(int i=0; i<v.size(); i++)
{
if(v[i] == v[i+1]) k++;
else
{
ans+=(k*(k-1)/2);
k=1;
}
}
if(v[v.size()-1] == v[v.size()-2]) ans+=(k*(k-1)/2);
printf("%d", ans);
}