Pagini recente » Cod sursa (job #2630611) | Cod sursa (job #2873290) | Cod sursa (job #2481908) | Cod sursa (job #2203411) | Cod sursa (job #286118)
Cod sursa(job #286118)
#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]);
}
sort(a+1,a+nr+1);
a[0] = 666.6;
a[++nr] = 666.6;
long long ret = 0, tmp;
for (int i=1;i<=nr;++i)
{
if (abs(a[i]-a[i-1])>1e-17)
{
tmp *= (tmp-1);
tmp /= 2;
if (tmp > 0)
ret += tmp;
tmp = 1;
}
else
++tmp;
}
printf("%lld\n", ret);
return 0;
}