Pagini recente » Cod sursa (job #382341) | Cod sursa (job #2207771) | Cod sursa (job #1203342) | Cod sursa (job #3237663) | Cod sursa (job #1226418)
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
#define inf 1000000000
#define eps 1.e-14
struct point
{
int x,y;
};
double panta(point a,point b)
{
if (fabs(a.x-b.x)<eps)
return inf;
else
return (double)(b.y-a.y)/(b.x-a.x);
}
point v[1001];
double pante[1000005];
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
int n,i,nr=0,tx,ty,rez=0,num=1,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].x,&v[i].y);
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
pante[++nr]=panta(v[i],v[j]);
sort(pante+1,pante+nr+1);
pante[++nr]=(double)inf;
for(i=2;i<=nr;i++)
if (pante[i]==pante[i-1])
num++;
else
{
rez=rez+num*(num-1)/2;
num=1;
}
printf("%d\n",rez);
return 0;
}