Pagini recente » Borderou de evaluare (job #2154170) | Borderou de evaluare (job #2972085) | Borderou de evaluare (job #1559622) | Cod sursa (job #2504824) | Cod sursa (job #2129848)
#include<fstream>
#include<iostream>
#include<cmath>
#include<algorithm>
#define DN 1005
#define eps 1e-18
#define x first
#define y second
using namespace std;
ifstream fin("trapez.in");
ofstream fout("trapez.out");
int n,nr,fr,rez;
pair<double,double>a[DN];
double f=3e9,r[DN*DN];
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i].x>>a[i].y;
for(int i=1;i<=n;i++)
for(int j=i+1;j<=n;j++)
{
nr++;
if(a[i].x==a[j].x)
r[nr]=f;
else
r[nr]=(a[i].y-a[j].y)/(a[i].x-a[j].x);
}
sort(r+1,r+nr+1);
for(int i=1;i<=nr;i++)
{
if(i==1)
fr=1;
else
if(abs(r[i]-r[i-1])<eps)
fr++;
else
fr=1;
rez+=fr-1;
}
fout<<rez;
}