Cod sursa(job #2448275)

Utilizator Stefan_PiscuPiscu Stefan Constantin Stefan_Piscu Data 16 august 2019 14:25:48
Problema Trapez Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream fin("trapez.in");
ofstream fout("trapez.out");

struct point{
                double x, y;
            }v[1001];

double r[1000003];

int n, k;

int main()
{
    fin>>n;
    for(int i=1;i<=n;++i) fin>>v[i].x>>v[i].y;
    for(int i=1;i<=n;++i)
        for(int j=i+1;j<=n;++j)
        {
            if(v[j].x-v[i].x==0) r[++k]=2e9;
            else r[++k]=(v[j].y-v[i].y)/(v[j].x-v[i].x);
        }
    sort(r+1, r+k+1);
    int nr=1, sol=0;
    for(int i=2;i<=k;++i)
    {
        if(r[i]==r[i-1]) nr++;
        else
        {
            sol+=(nr*(nr-1))/2;
            nr=1;
        }
    }
    sol+=(nr*(nr-1))/2;
    fout<<sol<<"\n";
    return 0;
}