Pagini recente » Cod sursa (job #2008686) | Istoria paginii utilizator/alexeicapodistria | Statistici Dobrovschi Stefan (Stefan0812) | Cod sursa (job #829640) | Cod sursa (job #2237469)
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
const double eps=10e-14;
const double INF=2000000000;
struct POINT
{
int x,y;
};
double panta(POINT P1,POINT P2)
{
if(fabs(P2.x-P1.x)<eps)
return INF;
else
return (double)(P2.y-P1.y)/(P2.x-P1.x);
}
POINT P[1001];
double v[1000001];
int main()
{
int sortat,l=0,s=0,k=1,i,j,n;
double aux;
fin>>n;
for(i=1;i<=n;i++)
fin>>P[i].x>>P[i].y;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
l++;
v[l]=panta(P[i],P[j]);
}
sort(v+1,v+l+1);
for(i=1;i<=l;i++)
{
if(fabs(v[i]-v[i+1])<eps)
k++;
else
{
s=s+(k*(k-1))/2;
k=1;
}
}
fout<<s;
return 0;
}