Pagini recente » Cod sursa (job #1585425) | Cod sursa (job #1796200) | Cod sursa (job #1585430) | bulangandit3 | Cod sursa (job #1571570)
#include <bits/stdc++.h>
#define inf 2000000002
#define e 0.00000000001
#define Nmax 1002
using namespace std;
int n,i,j,k,nr,sol,m;
struct nod
{
double x;
double y;
} v[Nmax];
double s[500505];
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for (i=1; i<=n; ++i)
scanf("%lf %lf",&v[i].x,&v[i].y);
for (i=1; i<n; ++i)
for (j=i+1; j<=n; ++j)
if (v[i].x-v[j].x)
{
++nr;
s[nr] = (v[i].y-v[j].y) / (v[j].x-v[i].x);
}else
s[++ nr] = inf;
sort(s+1,s+nr+1);
for (i = 2; i <= nr; ++ i)
if (fabs(s[i] - s[i - 1]) <= e)
++ m;
else
{
sol=sol+(m*(m + 1)/2);
m=0;
}
printf("%d",sol);
return 0;
}