Pagini recente » Cod sursa (job #1990607) | Cod sursa (job #2484440) | Cod sursa (job #1561336) | Cod sursa (job #1726481) | Cod sursa (job #2618876)
#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct punct
{
double x, y;
} v[10005];
long double p[1000001];
int n;
int m = 2e9 + 2;
int main()
{
f >> n;
for( int i = 1; i <= n; i++)
f >> v[i].x >> v[i].y;
int nr = 0;
for( int i = 1; i <n; i++)
for( int j = i+1; j <= n; j++)
{
nr++;
if(v[i].x == v[j].x)
p[nr] = m;
else
p[nr] = (1.0 *(v[j].y - v[i].y) ) / (1.0* (v[j].x - v[i].x));
}
sort(p + 1, p + nr + 1);
int k = 1, nr_tr = 0;
for( int i = 2; i <= nr; i++)
{
if(p[i] == p[i-1])
k++;
else
{
nr_tr = nr_tr + (k * (k - 1) / 2);
k = 1;
}
}
nr_tr = nr_tr + (k * (k - 1) / 2);
g << nr_tr;
return 0;
}