Pagini recente » Cod sursa (job #32425) | Cod sursa (job #2399831) | Cod sursa (job #3199224) | Cod sursa (job #1635753) | Cod sursa (job #2447321)
#include <bits/stdc++.h>
using namespace std;
int a[1010],b[1010];
vector<pair<int, int> > v;
int main()
{
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int n,ans;
fin >> n;
for(int i = 1;i <= n;i++)
fin >> a[i] >> b[i];
for(int i = 1;i <= n;i++)
for(int j = i + 1;j <= n;j++)
{
int x = a[i] - a[j],y = b[i]-b[j];
int g = __gcd(x,y);
v.push_back({y / g,x / g});
}
sort(v.begin(), v.end());
pair<int, int> last = v[0];
int k = 1;
ans = 0;
for(int i = 1;i < v.size();i++)
{
if(v[i] == last)
k++;
else {
ans += (k * (k - 1)) / 2;
k = 1;
}
last = v[i];
}
fout << ans;
return 0;
}