Cod sursa(job #2458163)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 19 septembrie 2019 19:56:16
Problema Trapez Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <cmath>
#include <algorithm>

#define EPS 0.000000001
#define NMAX 1005
using namespace std;

ifstream fin("trapez.in");
ofstream fout("trapez.out");

struct punct
{
    int x, y;
} v[NMAX];
double unghi[NMAX * NMAX];

int main()
{
    int n;
    fin >> n;

    for(int i = 1; i <= n; ++i)
        fin >> v[i].x >> v[i].y;

    int cnt = 0;
    for(int i = 1; i <= n; ++i)
        for(int j = i + 1; j <= n; ++j)
            unghi[++cnt] = (abs(v[i].y - v[j].y) / (double)abs(v[i].x - v[j].x));

    sort(unghi + 1, unghi + cnt + 1);

    int lg = 1, rez = 0;
    for(int i = 2; i <= n; ++i){
        if(unghi[i] - unghi[i - 1] < EPS)
            ++lg;
        else {
            rez = (lg + 1) * lg / 2;
            lg = 1;
        }
    }
    fout << rez << '\n';
    return 0;
}