Pagini recente » Cod sursa (job #141679) | Cod sursa (job #2190138) | Cod sursa (job #1519112) | Cod sursa (job #1925208) | Cod sursa (job #1330171)
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <climits>
using namespace std;
#define NMAX 1007
#define F first
#define S second
#define SQR(x) ((x)*(x))
#define eps (0.00001)
long long to;
pair < int , int > po[NMAX];
int i,j,N,cu;
double ip;
double tg[NMAX*NMAX];
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&N);
for (i=1;i<=N;++i)
scanf("%d%d",&po[i].F,&po[i].S);
for (i=1;i<=N;++i)
for (j=i+1;j<=N;++j)
tg[(int)++tg[0]]=(po[i].F==po[j].F) ? INT_MAX : (double)(po[i].S-po[j].S)/(po[i].F-po[j].F);
sort(tg+1,tg+(int)tg[0]+1);
for (i=cu=1;i<=(int)tg[0];++i)
{
if (tg[i]==tg[i-1]) ++cu;
else
{
to+=(long long)cu*(cu-1)/2;
cu=1;
}
}
printf("%lld\n",to);
return 0;
}