Cod sursa(job #2734935)

Utilizator rARES_4Popa Rares rARES_4 Data 1 aprilie 2021 17:37:49
Problema Trapez Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <map>
using namespace std;
ifstream f ("trapez.in");
ofstream g ("trapez.out");
map<pair<int,int>,int>Map;
int n,rasp;
pair<int,int> puncte[1001];
int main()
{
    f >> n;
    for(int i = 1; i<=n; i++)
    {
        f >> puncte[i].first>> puncte[i].second;
    }
    for(int i = 1; i<=n; i++)
    {
        for(int j = i+1; j<=n; j++)
        {
            int numarator = puncte[j].second - puncte[i].second;
            int numitor = puncte[j].first - puncte[i].first;
            int gcd = __gcd(numarator,numitor);
            Map[ {numarator/gcd,numitor/gcd}]++;

        }
    }
    for(auto x : Map)
    {
        rasp+=((x.second * (x.second-1))/2);
    }
    g << rasp;
}