Cod sursa(job #597652)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 22 iunie 2011 18:42:45
Problema Trapez Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <algorithm>
#include <math.h>
using namespace std;

double eps=0.00000000000001, def=120392.120392;

typedef struct
{
    double x,y;
} punct;

long double b[1100000];
int n,poz=-1,nr=0;
punct a[1100];

int main()
{
    ifstream f("trapez.in");
    ofstream g("trapez.out");
    f >> n;
    int i,j;

    for (i=0; i<n; i++)
        f >> a[i].x >> a[i].y;

    for (i=0; i<n-1; i++)
    for (j=i+1; j<n; j++)
        if (a[i].x-a[j].x==0) b[++poz]=def;
        else b[++poz]=(a[i].y-a[j].y)/(a[i].x-a[j].x);

    sort(b, b+(++poz));

    int S=0;

    for (i=1; i<poz; i++)
        if (b[i]-b[i-1]<eps) nr++;
        else{
            S+=nr*(nr+1)/2;
            nr=0;}

    S+=nr*(nr+1)/2;
    g << S;
    return 0;
}