Cod sursa(job #2438515)

Utilizator RazvanucuPopan Razvan Calin Razvanucu Data 12 iulie 2019 17:24:00
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb

#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapez.out");
struct PUNCT{
double a,b;
} x[1001];
long double pant[1010030];
int i,j,trp=1,nr,rez,n;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>x[i].a>>x[i].b;

    for(i=1;i<=n;i++)
        for(j=i+1;j<=n;j++)
         {

            if(x[j].a-x[i].a==0)
                pant[nr++]=2e9;

            else
             pant[nr++]=(x[j].b-x[i].b)/(x[j].a-x[i].a);
        }

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

    for(i=1;i<=nr;i++)
    {
      if(pant[i]==pant[i-1])
      trp++;

      else
      {
        rez+=(trp*(trp-1))/2;
        trp=1;
      }


    }
    rez+=(trp*(trp-1))/2;
    g<<rez;
    return 0;
}