Pagini recente » Cod sursa (job #3219981) | Cod sursa (job #1083141) | Cod sursa (job #615897) | Cod sursa (job #1919069) | Cod sursa (job #1018345)
#include <cstdio>
#include <cstdlib>
#include <map>
using namespace std;
#define fr(i, a, b) for(int i=a; i<b; ++i)
int n, k = -1, nn;
long long int x[10000];
long long int y[10000];
map<float, int> m = map<float, int>();
map<float, int>::iterator it = map<float, int>::iterator();
long long int ossz;
inline int factorial(int x) {
return (x == 1 ? x : x * factorial(x - 1));
}
int main()
{
freopen("trapez.in", "r", stdin);
freopen("trapez.out", "w", stdout);
scanf("%d", &n);
nn = n*(n-1)/2;
fr(i, 0, n) scanf("%lld%lld", x+i, y+i);
fr(i, 0, n) fr(j, i+1, n) m[(float)(x[i]-x[j])/(y[i]-y[j])]++;
for (it=m.begin(); it!=m.end(); ++it)
{
if (it->second>1)
{
if (it->second==2) ossz+=1;
else ossz += (it->second*(it->second))/(2*factorial(it->second-2));
}
}
printf("%lld", ossz);
return 0;
}