Pagini recente » Cod sursa (job #247190) | Cod sursa (job #2002402) | Cod sursa (job #3153429) | Cod sursa (job #2492920) | Cod sursa (job #767658)
Cod sursa(job #767658)
#include <stdio.h>
long double pan[1000002];
long double a[1002][2];
long i,j,n,m;
void qsort(long l,long r)
{
long ii,jj;
long double x,y;
ii=l;jj=r;x=pan[(l+r)/2];
do{
while(pan[ii]<x){ii++;}
while(pan[jj]>x){jj--;}
if(ii<=jj){
y=pan[ii];pan[ii]=pan[jj];pan[jj]=y;
ii++;jj--;
}
}while(ii<=jj);
if(l<jj){qsort(l,jj);}
if(ii<r){qsort(ii,r);}
}
int main()
{
freopen("trapez.in","r",stdin);
freopen("trapez.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++) scanf("%ld%ld",&a[i][0],&a[i][1]);
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(a[i][1]-a[j][1]) pan[++m]=((a[i][0]-a[j][0])*1000000000000.0)/(a[i][1]-a[j][1]);
else pan[++m]=2000000002*1000000000000.0;
}
}
qsort(1,m);
n=0;
pan[m+1]=0.999999999;
for(i=1;i<=m;i++){
j=i+1;
while(pan[i]==pan[j]){n++;j++;}
}
printf("%ld",n);
return 0;
}