Pagini recente » Cod sursa (job #2979400) | Cod sursa (job #2896499) | Cod sursa (job #2511632) | Cod sursa (job #2135173) | Cod sursa (job #796079)
Cod sursa(job #796079)
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long M,k,n,i,OX,ct,j;
double panta[10005*1005/2],x[1500],y[1500];
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%lf%lf",&x[i],&y[i]);
for(i=1;i<n;++i)
for(j=i+1;j<=n;++j)
if(x[i]==x[j]) OX++;
else
panta[++k]=(y[j]-y[i])/(x[j]-x[i]);
sort(panta+1,panta+k+1);
ct=0;M=0;
for(i=1;i<k;++i)
if(panta[i]==panta[i+1])
ct++;
else
{
M+=ct*(ct+1)/2;
ct=0;
}
M+=ct*(ct+1)/2+OX*(OX-1)/2;
printf("%d\n",M);
return 0;
}