Pagini recente » Cod sursa (job #632808) | Cod sursa (job #764257) | Cod sursa (job #2238526) | Cod sursa (job #1982136) | Cod sursa (job #2136317)
#include <cstdio>
#include <algorithm>
using namespace std;
double eps=(double)1/10000000;
double v[500505];
struct cr
{
int a,b;
};
cr m[1005];
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
int n , i;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d %d",&m[i].a,&m[i].b);
int cnt=0;
for(i=1;i<=n;i++)
{
int j;
for(j=i+1;j<=n;j++)
{
if(m[j].a==m[i].a)v[++cnt]=99;
else
v[++cnt]=(double)(m[j].b-m[i].b)/(m[j].a-m[i].a);
}
}
sort(v+1,v+cnt+1);
int sum=0;
for(i=1;i<=cnt;i++)
{
int cnt1=0;
while(i+1<=cnt&&v[i+1]-v[i]<=eps)
{
i++;
cnt1++;
}
sum+=((cnt1+1)*cnt1)/2;
}
printf("%d\n",sum);
return 0;
}