Pagini recente » Cod sursa (job #370087) | Cod sursa (job #2899888) | Cod sursa (job #1032544) | Cod sursa (job #1109213) | Cod sursa (job #2625192)
#include <bits/stdc++.h>
#define nmax 2000000001
using namespace std;
ifstream fin ("trapez.in");
ofstream fout ("trapez.out");
int x[1007], y[1007], n;
long double panta[1000007];
int nr;
void Citire()
{
fin >> n;
for (int i = 1; i <= n ; i++)
fin >> x[i] >> y[i];
}
void Rezolvare()
{
for (int i = 1; i <= n; i++)
for (int j = i + 1; j <= n; j++)
{
if (x[i] == x[j]) panta[++nr] = nmax;
else panta[++nr] = (1.0 * (y[j] - y[i])) / (1.0 *(x[j] - x[i]));
}
sort (panta + 1, panta + nr + 1);
int k = 1, nrTrapeze = 0;
for (int i = 1; i < nr; i++)
if (panta[i] == panta[i + 1]) k++;
else
{
nrTrapeze += (k * (k - 1) / 2);
k = 1;
}
nrTrapeze += (k * (k - 1) / 2);
fout << nrTrapeze << "\n";
}
int main()
{
Citire();
Rezolvare();
fin.close();
fout.close();
return 0;
}