Pagini recente » Cod sursa (job #825563) | Cod sursa (job #1608270) | Cod sursa (job #2122752) | Cod sursa (job #2272711) | Cod sursa (job #2665373)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <math.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct coordonate
{int x,y;} a[1001];
struct vectori
{double i,j;} v[500001];
int b[500001],n,m,k,nr;
bool compara(vectori a, vectori b)
{if(a.i/a.j<=b.i/b.j) return true;
return false;
}
int main()
{ f>>n;
for(int i=1;i<=n;i++)
f>>a[i].x>>a[i].y;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{v[++m].i=a[i].x-a[j].x;v[m].j=a[i].y-a[j].y;
if(v[m].j==0) v[m].i=fabs(v[m].i);
}
sort(v+1,v+m+1,compara);
/*for(int i=1;i<=m;i++)
cout<<v[i].i<<' '<<v[i].j<<' '<<v[i].i/v[i].j<<'\n';*/
//m=n*(n-1)/2;
for(int i=1;i<=m;i++)
{while(i<m && v[i].i/v[i].j==v[i+1].i/v[i+1].j) nr++,i++;}
g<<nr;
return 0;
}