Cod sursa(job #3186446)

Utilizator TheAndreiEnache Andrei Alexandru TheAndrei Data 23 decembrie 2023 01:23:19
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

int x[1000], y[1000];
double v[1000000];
int n, len, ans, cnt;

int main() {
    fin >> n;
    for(int i=0;i<n;i++)
        fin >> x[i] >> y[i];


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

    sort(v+1,v+ len + 1);

    for(int i=1;i<=len;i++)
        if(v[i]==v[i-1])
            cnt++;
        else{
            ans = ans + cnt * (cnt - 1) / 2;
            cnt = 1;
        }

    fout << ans;

    return 0;
}