Cod sursa(job #2624744)

Utilizator TraianVVisan Traian-Dimitrie TraianV Data 5 iunie 2020 11:33:37
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std;
struct dub{
    int x,y;
};
int n,k,i,j,x,y,sol,s=0;
long double pant[1000010];
int main()
{

    dub v[100000];
    ifstream f("trapez.in");
    ofstream g("trapez.out");
    f>>n;
    for(i=0;i<n;i++)
        f>>v[i].x>>v[i].y;
    for (i=0;i<n;i++)
        for (j=i+1;j<n;j++) {
            y=v[i].y-v[j].y;
            x=v[i].x-v[j].x;

            if (x==0)
                x=2e18;

            pant[k++]=y*1.0/x;
        }

    sort (pant,pant+k);
    sol=1;
    for (i=0;i<k;i++){
        if (pant[i]==pant[i-1])
            sol++;
        else {
            s+=sol*(sol-1)/2;
            sol=1;
        }
    }
    g<<s<<endl;
    f.close();
    g.close();
    return 0;

}