Cod sursa(job #1805146)

Utilizator NarniussAnghelache Bogdan Narniuss Data 13 noiembrie 2016 15:09:51
Problema Trapez Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");
int main()
{
    vector <long long> x, y;
    vector <double> p;
    int n, j, i, k=1;
    long long c1, c2;
    double panta;
    long nr=0;
    f>>n;
    for(i=1 ; i<=n ; i++)
    {
        f>>c1>>c2;
        x.push_back(c1);
        y.push_back(c2);
    }
    for(i=1 ; i < n ; i++)
    {
        for(j=i+1 ; j <= n ; j++)
        {
            if(x[i] == x[j]) panta= 2000000000;
            else panta = (double)(y[i]-y[j])/(x[i]-x[j]);

            p.push_back(panta);
        }
    }

    sort(p.begin(), p.end());

     for(i=1 ; i<= p.size(); i++)
        {
            while(i < p.size() && p[i]==p[i+1])
            {
                k++;
                i++;
            }
            nr+=(long)k*(k-1)/2;
            k=1;
        }
    g<< nr << " ";

     return 0;
}