Cod sursa(job #2824581)

Utilizator lolismekAlex Jerpelea lolismek Data 2 ianuarie 2022 18:14:04
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

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

const int N = 1000;
pair <int, int> v[N + 1];

int main(){
    int n;
    fin >> n;
    for(int i = 0; i < n; i++) fin >> v[i].first >> v[i].second;
    vector <double> comb;
    for(int i = 0; i < n; i++)
        for(int j = i + 1; j < n; j++)
            comb.push_back((double)(v[i].first - v[j].first)/(v[i].second - v[j].second));
    sort(comb.begin(), comb.end());
    int ans = 0;
    n = comb.size();
    for(int i = 0; i < n; i++){
        int nr = 1;
        while(i < n - 1 && comb[i] == comb[i + 1]){
            i++;
            nr++;
        }
        ans += nr * (nr - 1) / 2;
    }
    fout << ans;
    return 0;
}