Cod sursa(job #2624910)

Utilizator mihai_radulescuMihai Radulescu mihai_radulescu Data 5 iunie 2020 16:29:42
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;

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

int n;
struct tr
{
    long long x,y;
} v[1005];

vector <long double> pante;

void nr_tr()
{
    long double p;

    for(int i=1; i<=n; i++)
        for(int j=i+1; j<=n; j++)
        {
            if(v[i].x!=v[j].x)
                p=(v[j].y-v[i].y)*1.0/(v[j].x-v[i].x);

            pante.push_back(p);
        }

    sort(pante.begin(),pante.end());

    int rez=0,len=1;

    for(int i=1; i<pante.size(); i++)
        if(pante[i]==pante[i-1])
            len++;
        else
        {
            rez+=len*(len-1)/2;
            len=1;
        }

    g<<rez;
}

int main()
{
    f>>n;

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

    nr_tr();
}