Cod sursa(job #2295277)

Utilizator alexnigaNiga Alexandru alexniga Data 3 decembrie 2018 14:42:40
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

struct pnct
{
    int x, y;

}punct[1001];

int main()
{
    int n, nr = 0, CateDrepte = 0;

    f >> n;

    double panta[1001005];

    for (int i = 1; i <= n; i++)
    {
        f >> punct[i].x >> punct[i].y;
    }

    for (int i = 1; i < n; i++)
        for (int j = i + 1; j <= n; j++)
    {
        ++nr;
        panta[nr] = (double)(punct[j].x - punct[i].x) / (punct[j].y - punct[i].y);
    }

    sort(panta + 1, panta + nr + 1);

   for (int i = 1; i <= nr; i++)
   {
       int  numar = 1;

       while (i  < nr && panta[i] == panta[i + 1])
       {
           i++;
           numar++;
       }
       CateDrepte = CateDrepte + (numar * (numar - 1)) / 2;
   }
    g << CateDrepte;
    return 0;
}