Cod sursa(job #2665373)

Utilizator Andrew09Mocanu Octavian Andrew09 Data 30 octombrie 2020 17:16:02
Problema Trapez Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#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;
}