Pagini recente » Cod sursa (job #3199240) | Cod sursa (job #24052) | Cod sursa (job #1981310) | Cod sursa (job #3191397) | Cod sursa (job #709573)
Cod sursa(job #709573)
#include <fstream>
#include <algorithm>
#define EPS 0.000000001
#define oo (1<<30)
#define NMAx 1010
#define Sum(x) ((x)*(x+1)/2)
using namespace std;
int N,Nr,Sol,X[NMAx],Y[NMAx];
double M[NMAx*NMAx];
double Panta(int Xa,int Ya,int Xb,int Yb) {
if(Xa-Xb==0)
return oo;
else
return 1.0*(Ya-Yb)/(Xa-Xb);
}
void citire() {
ifstream in("trapez.in");
in>>N;
for(int i=1;i<=N;i++)
in>>X[i]>>Y[i];
}
void afis() {
ofstream out("trapez.out");
out<<Sol<<'\n';
out.close();
}
int main() {
int i,j,K;
citire();
for(i=1;i<N;i++)
for(j=i+1;j<=N;j++)
M[++Nr]=Panta(X[i],Y[i],X[j],Y[j]);
sort(M+1,M+Nr+1);
for(i=2,K=0;i<=Nr;i++)
if(M[i]-M[i-1]<EPS)
K++;
else {
Sol+=Sum(K);
K=0;
}
afis();
return 0;
}