Pagini recente » Cod sursa (job #201229) | Cod sursa (job #847718) | Cod sursa (job #2791245)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,k=1,cont;
int nr;
struct point {double x,y;} p[1010];
double m[500510];
long long nrpz = 0;
int main()
{
ifstream f("trapez.in");
ofstream g("trapez.out");
f>>n;
for(int i=1;i<=n;i++) f>>p[i].x>>p[i].y;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
if(p[i].y - p[j].y == 0)
nrpz++;
else
{
nr++;
m[nr]=(double)((p[i].x-p[j].x)/(p[i].y-p[j].y));
}
}
long long rez = (nrpz*(nrpz-1))/2;
sort(m+1,m+nr+1);
for(int i=1;i<nr;)
{
int j;
for(j=i+1;m[i] == m[j]; ++j);
long long nrl = j-i;
rez += (nrl*(nrl-1)/2);
i=j;
}
g<<rez<<"\n";
}