Cod sursa(job #2620536)

Utilizator anamaria2602Avram Ana Maria anamaria2602 Data 29 mai 2020 00:45:38
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define Maxx 1001

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");
double P[Maxx*(Maxx)/2+1],val;
long X[Maxx],Y[Maxx],N,cnt,secv,nr;

int main()
{
    f >> N;
    for ( int i=1;i<=N;i++ )
        f >> X[i] >> Y[i];
    for ( int i=1;i<N;i++ )
        for ( int j=i+1;j<=N;j++ )
            if ( X[i] != (-1)*X[j] ) ///daca abscisele nu sunt opuse pentru a nu imparti la 0
                P[++cnt] = (double)(Y[j]-Y[i])/(X[j]-X[i]); ///aflam pantele
    sort ( P+1,P+cnt+1 );

    secv = 1;
    P[0] = -23131;
    for ( int i=1;i<=cnt;i++ )
        if ( P[i] == P[i-1] ) secv++;
        else
        {
            nr = nr+(secv*(secv-1))/2; ///combinari de n luate cate 2
            secv = 1;
        }
    nr = nr+(secv*(secv-1))/2;
    g << nr;
    return 0;
}