Pagini recente » Cod sursa (job #250865) | Cod sursa (job #1306762) | Cod sursa (job #710103) | Cod sursa (job #2556982) | Cod sursa (job #2637002)
#include <bits/stdc++.h>
using namespace std;
ifstream in("trapez.in");
ofstream out("trapez.out");
typedef long long ll;
#define x first
#define y second
pair<ll,ll> p[1005];
vector<pair<ll,ll> > v;
int main()
{
ll n;
in>>n;
for(ll i=1;i<=n;++i)
in>>p[i].x>>p[i].y;
for(ll i=1;i<=n-1;++i)
for(ll j=i+1;j<=n;++j)
{
ll x=p[i].x;
ll y=p[i].y;
ll xx=p[j].x;
ll yy=p[j].y;
if(x>xx) swap(x,xx),swap(y,yy);
ll d=__gcd(xx-x,abs(yy-y));
ll dx=(xx-x)/d;
ll dy=(yy-y)/d;
v.push_back({dx,dy});
}
sort(v.begin(),v.end());
ll ans=0,nr=1;
for(ll i=1;i<v.size();++i)
if(v[i]==v[i-1])
ans+=nr++;
else nr=1;
out<<ans<<'\n';
return 0;
}