Pagini recente » Cod sursa (job #2497442) | Cod sursa (job #1178231) | Cod sursa (job #1487051) | Cod sursa (job #1980187) | Cod sursa (job #662313)
Cod sursa(job #662313)
#include <fstream>
#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;
ifstream f("trapez.in");
f>>n;
for(i=1;i<=n;++i){
f>>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(){
ofstream g("trapez.out");
g<<sol<<"\n";
}
int main(){
read();
solve();
write();
return 0;
}