Cod sursa(job #1675475)

Utilizator MihneaGabrielMihnea-Gabriel Manolescu MihneaGabriel Data 5 aprilie 2016 12:37:10
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <iostream>
#include <fstream>
#include <algorithm>

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

struct latura
{
    int x1 , y1 , x2 , y2  ;
    float panta = 0 ;
} a[1000000];

inline bool sortare(latura a, latura b)
{
    return a.panta < b.panta ;
}

int main()
{
    int n,x[1000],y[1000],i,nrt=0,p1 , p2 , k , j  ;
    float nr = -9999.f ;
    x[1000];
    y[1000];
    f>>n;
    for(i=1; i<=n; i++)
        f>>x[i]>>y[i];

    k = 0 ;
    for(i=1; i<n; i++)
        for(j=i+1; j<=n; j++)
            if(x[j]-x[i]!=0)
            {
                k++;
                a[k].x1 = x[i] ;
                a[k].y1 = y[i] ;
                a[k].x2 = x[j] ;
                a[k].y2 = y[j] ;
                a[k].panta = ( y[j]-y[i] )  ;

                a[k].panta /= (x[j]-x[i]) ;

            }
    sort(a+1,a+k+1,sortare);
        for(i=1; i<=k; i++)
        {
            //cout << a[i].panta << " " << nr << " " << nrt << '\n' ;

            if(a[i].panta==nr)
                nrt++;
            else
                nr = a[i].panta ;
        }
    cout << nrt ;




}