Pagini recente » Cod sursa (job #1163139) | Cod sursa (job #993386) | Cod sursa (job #2096525) | Cod sursa (job #2309974) | Cod sursa (job #2327631)
#include <stdio.h>
#include <algorithm>
#define NMAX 1011
#define INF 1<<30
#define E 0.00000000001
using namespace std;
int n,k,sol;
double x[NMAX],y[NMAX];
double p[NMAX*NMAX];
void read(){
int i;
freopen("trapez.in","r",stdin);
scanf("%d",&n);
for(i=1;i<=n;++i){
scanf("%lf%lf",&x[i] ,&y[i]);
}
}
void solve(){
int i,j,nr;
for(i=1;i<n;++i)
for(j=i+1;j<=n;++j)
if(x[j]-x[i]==0) p[++k]=INF;
else p[++k]=(y[j]-y[i])/(x[j]-x[i]);
sort(p+1,p+k+1);
nr=1;
for(i=1;i<k;++i){
if(p[i+1]-p[i]<E) nr++;
else{
sol=sol+nr*(nr-1)/2;
nr=1;
}
}
}
void write(){
freopen("trapez.out" , "w", stdout);
printf("%d\n",sol);
}
int main(){
read();
solve();
write();
return 0;
}