Pagini recente » Cod sursa (job #12959) | Cod sursa (job #1090543) | Cod sursa (job #1123793) | Cod sursa (job #595031) | Cod sursa (job #1840702)
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#define eps 1e-12
using namespace std;
int n, x[1001], y[1001];
long long Sol;
double p[1000001];
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]);
int NR = 0;
for(int i = 1; i <= n ; ++i){
for(int j = i + 1; j <= n ; ++j){
double x1 = 1.0 * (double)(x[j] - x[i]);
double y1 = 1.0 * (double)(y[j] - y[i]);
if(x1 != 0) p[++NR] = y1 / x1;
else p[++NR] = 2000000001;
}
}
sort(p + 1, p + NR + 1);
int nr = 0;
for(int i = 1; i <= NR ; ++i){
if(fabs(p[i] - p[i + 1]) < eps)
++nr;
else{
Sol = Sol + 1LL * nr * (nr + 1) / 2;
nr = 0;
}
}
nr = 1000000000;
Sol = Sol + 1LL * nr * (nr + 1) / 2;
printf("%lld", Sol);
return 0;
}