Pagini recente » Cod sursa (job #2841119) | Cod sursa (job #2236247) | Cod sursa (job #438081) | Istoria paginii runda/dasdasd/clasament | Cod sursa (job #803556)
Cod sursa(job #803556)
#include<fstream>
#include<cmath>
#include<algorithm>
using namespace std;
struct pct
{
int x,y;
};
const double t=0.000001;
long long s;
double a[1000000];
pct v[1001];
int i,n,m,l,j;
int main()
{
ifstream f("trapez.in");
ofstream g("trapez.out");
f >> n;
for (i=1;i<=n;i++)
f >> v[i].x >> v[i].y;
for (i=1;i<=n;i++)
for (j=i+1;j<=n;j++)
a[++m]=fabs(atan2((double)v[i].y-v[j].y,(double)v[i].x-v[j].x));
sort(a+1,a+m+1);
for (i=1;i<=m;i++)
{
l=1;j=i;
while ((++j<=n) && (fabs(a[j]-a[i])<t))
l++;
i=j-1;
s+=l*(l-1)/2;
}
g << s;
}