Pagini recente » Monitorul de evaluare | Cod sursa (job #1940482) | Cod sursa (job #1803889) | Cod sursa (job #2312929) | Cod sursa (job #387847)
Cod sursa(job #387847)
#include <stdio.h>
#include <algorithm>
using namespace std;
double a[500001];
int main()
{
int n,i;
long x[1004],y[1004];
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&x[i]);
scanf("%d",&y[i]);
}
int j,l=1;
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(x[i]==x[j]){
a[l]=100000;
}else{
a[l]=(double) (y[j]-y[i])/(double) (x[j]-x[i]);
}
//printf("%lf\n",a[l]);
l=l+1;
//printf("%d\n",l);
}
}
l=l-1;
int s=0,m=1;
sort(a+1,a+l+1);
for(i=2;i<=l;i++){
if(a[i]==a[i-1]){
m=m+1;
}else{
s=s+m*(m-1)/2;
m=1;
}
}
printf("%d",s);
return 0;
}