Cod sursa(job #1843996)

Utilizator NarniussAnghelache Bogdan Narniuss Data 9 ianuarie 2017 17:11:52
Problema Trapez Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
#define infinit 2000000001
using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");
int main()
{
    vector <int> x, y;
    vector <double> p;
    int n, c1, c2, j, i;
    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= infinit;
            else
                panta = (double)(y[i]-y[j])/(double)(x[i]-x[j]);
            p.push_back(panta);
        }
    }

    sort(p.begin(), p.end());
    i = 0;
    while(i < p.size())
        {
          j = i + 1;
            while(j < p.size() && p[j]==p[j-1])
              j++;
            nr += (long long)(j-i)*(j-i-1)/2;
            i=j;
        }
        g<< nr<< " ";
     return 0;
}