Cod sursa(job #2764389)

Utilizator DragosC1Dragos DragosC1 Data 20 iulie 2021 18:49:45
Problema Trapez Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <map>
#include <algorithm>
#include <iostream>
using namespace std;

pair<int, int> coord[1001];
int n;

void read() {
    int i;
    ifstream f("trapez.in");
    f >> n;
    for (i = 1; i <= n; i++) 
        f >> coord[i].first >> coord[i].second;
    f.close();
}

map<double, int> mp;
long long rez;

void solve() {
    int i, j, x, y, cmmdc;
    for (i = 1; i <= n; i++) 
        for (j = i + 1; j <= n; j++) {
            x = coord[j].first - coord[i].first;
            y = coord[j].second - coord[i].second;
            if (mp.find(x * 1.0 / y) != mp.end())
                rez += mp[x * 1.0 / y];
            mp[x * 1.0 / y]++;
        }
}

void output() {
    ofstream g("trapez.out");
    g << rez;
    g.close();
}

int main() {
    read();
    solve();
    output();
    return 0;
}