Pagini recente » Cod sursa (job #2613346) | Cod sursa (job #1468155) | Cod sursa (job #2363139) | Cod sursa (job #145629) | Cod sursa (job #1361027)
#include <cstdio>
#include <algorithm>
#define eps 1e-12
using namespace std;
int a[1024], b[1024];
double v[1000010];
int main ()
{
freopen ("trapez.in", "r", stdin);
freopen ("trapez.out", "w", stdout);
int n;
scanf ("%d", &n);
for (int i = 1; i <= n; ++i)
scanf ("%d %d", &a[i], &b[i]);
int k = 0;
for (int i = 1; i < n; ++i)
for (int j = i + 1; j <= n; ++j)
if (a[i] - a[j]) v[++k] = 1.0 * (b[i] - b[j]) / (a[i] - a[j]);
sort (v + 1, v + k + 1);
//for (int i = 1; i <= k; ++i)
// printf ("%lf\n", 1.0 * v[i].f / v[i].s);
int i = 2;
long long nr = 0LL;
while (i <= k)
{
long long nrr = 1LL;
while (v[i] - v[i - 1] < eps && v[i] - v[i - 1] > -eps)
{
++nrr;
++i;
}
nr += 1LL * nrr * (nrr - 1) / 2;
++i;
}
printf ("%lld\n", nr);
return 0;
}