Cod sursa(job #2619119)

Utilizator andreea.bucurBucur Andreea andreea.bucur Data 27 mai 2020 00:21:50
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb

#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct punct
{
double x, y;
} v[10005];
long double p[1000001];
int n;
int m = 2e9 + 2;
int main()
{
    f >> n;
    for( int i = 1; i <= n; i++)
        f >> v[i].x >> v[i].y;
    int nr = 0;
    for( int i = 1; i <n; i++)
        for( int j = i+1; j <= n; j++)

        {
            nr++;
            if(v[i].x == v[j].x)
                p[nr] = m;
            else
                p[nr] = (1.0 *(v[j].y - v[i].y) ) / (1.0* (v[j].x - v[i].x));
        }
    sort(p + 1, p + nr + 1);


    int k = 1, nr_tr = 0;
    for( int i = 2; i <= nr; i++)
    {

        if(p[i] == p[i-1])
            k++;
        else
        {
            nr_tr = nr_tr + (k * (k - 1) / 2);
            k = 1;
        }

    }
    nr_tr = nr_tr + (k * (k - 1) / 2);
    g << nr_tr;
    return 0;
}