Pagini recente » Cod sursa (job #1834130) | Cod sursa (job #1477384) | Cod sursa (job #163168) | Cod sursa (job #582018) | Cod sursa (job #714124)
Cod sursa(job #714124)
#include <stdio.h>
double pan[1000002];
double a[1002][2];
long i,j,n,m;
FILE *f,*g;
void qsort(long l,long r)
{
long ii,jj;
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()
{
f=fopen("trapez.in","r");
g=fopen("trapez.out","w");
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++){fscanf(f,"%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])/(a[i][1]-a[j][1]);
}
else{pan[++m]=2000000002;}
}
}
qsort(1,m);
n=0;
pan[m+1]=-2000000002;
for(i=1;i<=m;i++){
if(pan[i]==pan[i+1]){i++;n++;}
}
fprintf(g,"%ld",n);
fclose(f);fclose(g);
return 0;
}