Pagini recente » Cod sursa (job #2436359) | Cod sursa (job #2930907) | Cod sursa (job #2161396) | Cod sursa (job #2543254) | Cod sursa (job #1592537)
#include <fstream>
#include <limits>
#include <algorithm>
using namespace std;
const int Mn = 1e3 + 4;
int n, ans, cnt, it = 0;
int x[Mn], y[Mn];
double sl[Mn * Mn];
int main()
{
ifstream fi("trapez.in");
ofstream fo("trapez.out");
fi >> n;
for (int i = 1; i <= n; i++)
{
fi >> x[i] >> y[i];
for (int j = 1; j < i; j++)
sl[++it] = ((x[i] == x[j]) ? numeric_limits< double >::infinity() : (double)(y[j] - y[i]) / (x[j] - x[i]));
}
sort(sl + 1, sl + 1 + it);
for (int i = 2; i <= it; i++)
if (sl[i - 1] == sl[i])
cnt++, ans += cnt;
else
cnt = 0;
fo << ans << "\n";
return 0;
}