Pagini recente » Cod sursa (job #3243238) | Cod sursa (job #992507)
Cod sursa(job #992507)
#include <cstdio>
#include <algorithm>
#define eps 0.00000000001
using namespace std;
int n, i, j, k, nr, dr_pr;
double p[1001*1001];
struct {
int x, y;
} v[1001];
int main()
{
freopen("trapez.in", "r", stdin);
freopen("trapez.out", "w", stdout);
scanf("%d", &n);
for(i=1; i<=n; ++i)
scanf("%d %d", &v[i].x, &v[i].y);
for(i=1; i<=n-1; ++i)
for(j=i+1; j<=n; ++j)
if(v[i].x-v[j].x)
p[++k]=(double)(v[i].y-v[j].y)/(v[i].x-v[j].x);
else
p[++k]=0x3f3f3f3f;
sort(p+1, p+k+1);
for(i=1; i<=k; ++i)
{
dr_pr=1;
j=i+1;
while(j<=k && p[j]-p[i]<=eps)
++j, ++i, ++dr_pr;
nr+=dr_pr*(dr_pr-1)/2;
}
printf("%d\n", nr);
return 0;
}