Pagini recente » Cod sursa (job #203391) | Cod sursa (job #1313464) | Cod sursa (job #1278697) | Cod sursa (job #1866970) | Cod sursa (job #254543)
Cod sursa(job #254543)
#include <stdio.h>
#include <algorithm>
#define FOR(i,s,d) for(i=(s);i<=(d);++i)
using namespace std;
struct coord{long x;long y;};
coord v[10005];
long n,i,c,j,l,nrt;
double pn[1000000],nrc=-1;
int main()
{
freopen ("trapez.in","r",stdin);
freopen ("trapez.out","w",stdout);
scanf("%ld",&n);
FOR (i,1,n)
scanf ("%ld %ld",&v[i].x,&v[i].y);
FOR (i,1,n-1)
FOR (j,i+1,n){
pn[++l]=(double(v[i].y-v[j].y)/(v[i].x-v[j].x));
if(pn[l]<0)pn[l]*=(-1);
}
sort(pn+1,pn+l);
FOR (i,1,l){
if(nrc!=pn[i]&&i!=1){nrc=pn[i];nrt+=(c*(c-1))/2;c=1;}
else c++;
}
printf("%ld\n",nrt);
return 0;
}