Cod sursa(job #1140583)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 12 martie 2014 09:01:43
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

struct punct {
    int x;
    int y;
}v[1010];

long double p[1000010];

int n,i,x,y,sol,s,j,k;

int main () {

    fin>>n;

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

    for (i=1;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=2000000001;

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

    sort (p+1,p+k+1);
    sol=1;
    for (i=2;i<=k;i++){
        if (p[i]==p[i-1])
            sol++;
        else {
            s+=sol*(sol-1)/2;
            sol=1;
        }
    }
    fout<<s<<"\n";

    return 0;
}