Pagini recente » Cod sursa (job #1620700) | Cod sursa (job #769354) | Cod sursa (job #851023) | Cod sursa (job #183455) | Cod sursa (job #286126)
Cod sursa(job #286126)
#include <cstdio>
#include <math.h>
#include <algorithm>
using namespace std;
#define Nmax 1024
int n, x[Nmax], y[Nmax], nr;
double a[Nmax*Nmax];
double abs(double x)
{
if (x>0) return x;
return -x;
}
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d", &n);
for (int i=1;i<=n;++i)
{
scanf("%d%d", x+i,y+i);
for (int j=1;j<i;++j)
a[++nr] = atan2(y[j]-y[i],x[j]-x[i]+1e-12);
}
sort(a+1,a+nr+1);
a[0] = 666.6;
a[++nr] = 666.6;
long long ret = 0, tmp=1,A,B,C;
for (int i=1;i<=nr;++i)
{
if (abs(a[i]-a[i-1])>1e-14)
{
A = tmp;
B = tmp-1;
C = A*B;
C = C/2;
if (C > 0)
ret += C;
tmp = 1;
}
else
++tmp;
}
printf("%lld\n", ret);
return 0;
}