Cod sursa(job #2308980)

Utilizator GiihuoTihufiNeacsu Stefan GiihuoTihufi Data 28 decembrie 2018 10:20:56
Problema Trapez Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");

int main()
{
    int N; f>>N;
    int X[1000],Y[1000];
    for(int i=0;i<N;i++) f>>X[i]>>Y[i];
    map<pair<int,int>,int> A;
    for(int i=0;i<N;i++)
        for(int j=i+1;j<N;j++)
        {
            int a=Y[i]-Y[j],
                b=X[j]-X[i],
                d=__gcd(a,b);
            A[{a/d,b/d}]++;
        }
    uint64_t result=0;
    for(auto a:A)
    {
        uint64_t nr=a.second;
        result+=1LL*nr*(nr-1)/2;
    }
    g<<result;

    return 0;
}