Pagini recente » Cod sursa (job #2815306) | Cod sursa (job #3189489) | Cod sursa (job #940142) | Cod sursa (job #1511917) | Cod sursa (job #1739867)
#include<bits/stdc++.h>
#define maxN 525000
#define INF INT_MAX;
using namespace std;
double pante[maxN];
pair<int,int> v[1005];
long long x,trapeze;
double f(int i,int j)
{
if (v[j].second==v[i].second) return 0;
if (v[j].first==v[i].first) return INF;
double p1=(v[j].second-v[i].second);
double p2=(v[j].first-v[i].first);
double p=p1/p2;
return p;
}
int n,dp,l;
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d%d",&v[i].first,&v[i].second);
}
for(int i=1;i<=n;i++)
{
for(int j=(i+1);j<=n;j++)
{
pante[++dp]=f(i,j);
}
}
sort(pante+1,pante+dp+1);
l=1;
for(int i=2;i<=dp;i++)
{
if (pante[i]==pante[i-1])
{
l++;
}
else
{
trapeze=trapeze+(l*(l-1)/2)*1LL;
l=1;
}
}
printf("%lld\n",trapeze);
return 0;
}