Pagini recente » Cod sursa (job #1511581) | Cod sursa (job #48995) | Cod sursa (job #2137090) | Cod sursa (job #2082157) | Cod sursa (job #801857)
Cod sursa(job #801857)
#include<cstdio>
#include<cmath>
#include<algorithm>
#define EPSILON 1e-4
int x[1005],y[1005];
double m[1000005];
int nm;
double slope (int i,int j)
{
double d1=y[i]-y[j];
double d2=x[i]-x[j];
return d1/d2;
}
int main()
{
freopen ("trapez.in","r",stdin);
freopen ("trapez.out","w",stdout);
int n;
scanf ("%d",&n);
for(int i=0;i<n;i++)
scanf ("%d%d",x+i,y+i);
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
m[nm++]=slope (i,j);
std::sort (m,m+nm);
int r=0;
for(int i=0;i<nm;i++){
int cm=i;
while(i<nm&&fabs (m[i+1]-m[cm])<EPSILON)
i++;
r+=(i-cm+1)*(i-cm)/2;
}
printf ("%d",r);
return 0;
}