Cod sursa(job #2019265)

Utilizator NOSCOPEPROKENDYMACHEAMACUMVREAU NOSCOPEPROKENDY Data 7 septembrie 2017 13:36:35
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>
#include <cmath>
#define DIM 1003

using namespace std;

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

int X[DIM],Y[DIM];

double P[DIM*DIM];

int N,K,S;

double panta(double x1,double y1,double x2,double y2){

    return (y2-y1)/(x2-x1);

}

int main()
{

    fin >> N;

    for(int i=1;i<=N;i++)
        fin >> X[i] >> Y[i];

    for(int i=1;i<=N;i++)
        for(int j=i+1;j<=N;j++)
            P[++K]=panta(X[i],Y[i],X[j],Y[j]);

    sort(P+1,P+K+1);

    int cnt=1;

    for(int i=2;i<=K;i++)
        if(P[i]==P[i-1]){
            cnt++;
        }
        else{
            S+=cnt*(cnt-1)/2;
            cnt=1;
        }

    fout << S << "\n";

}