Cod sursa(job #2618145)

Utilizator DenisaCantuCantu Denisa DenisaCantu Data 23 mai 2020 19:42:57
Problema Trapez Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct punct
{
    int x, y;
} v[1000005];
double p[10001];
int n;
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++;
            p[nr] = (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;
        }

    }
    g << nr_tr;
    return 0;
}