Cod sursa(job #2646333)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 31 august 2020 19:56:41
Problema Trapez Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;

#define pii pair<int, int>
#define NMAX 1005

int n;
pii p[NMAX];

unordered_map<pii, int> M;

int main()
{
    freopen("trapez.in","r",stdin);
    freopen("trapez.out","w",stdout);

    cin >> n;
    for (int i=1;i<=n;i++){
        cin >> p[i].first >> p[i].second;
    }

    for (int i=1;i<=n;i++){
        for (int j=i+1;j<=n;j++){
            int a = p[j].second - p[i].second;
            int b = p[j].first - p[i].first;
            int d = __gcd(a, b);
            a /= d;
            b /= d;
            M[{a,b}]++;
        }
    }

    int ans = 0;
    for (auto it : M){
        ans += (it.second * (it.second - 1)) / 2;
    }

    cout << ans << '\n';

    return 0;
}