Cod sursa(job #891614)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 25 februarie 2013 18:17:27
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
#include<algorithm>
#define dim 1006
using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.out");
struct  cub{
    int x,y;
}
v[dim];
double p[dim*dim];
int i,n,j,sub,sol,nr;
double a,b;
int main ()  {
    f>>n;

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

    for(i=1;i<n;++i) {

        for(j=i+1;j<=n;++j){
            a=(v[j].x-v[i].x);
            b=(v[j].y-v[i].y);
            p[++nr]=(double)(a/b);
        }
    }
    sort(p+1,p+1+nr);

    for(i=1;i<=nr;++i) {

        sub=1;
        while(i<nr && p[i+1]==p[i]) {
            ++i;
            sub++;
        }
        sol+=sub*(sub-1)/2;
    }

    g<<sol<<"\n";
    return 0;
}