Cod sursa(job #1142163)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 13 martie 2014 16:09:26
Problema Trapez Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <algorithm>
#include <stdlib.h>
#define eps 0.001
#define NMax 1001
using namespace std;
fstream f("trapez.in");
ofstream g("trapez.out");
struct punct {
    double x;
    double y;
}p[NMax];
int n, k, parox, nrtr, i ,j, nr=1;
double pante[NMax*NMax];
int main()
{
    f>>n;
    for (i=1; i<=n; i++)
        f>>p[i].x>>p[i].y;
    for (i=1; i<=n; i++)
        for (j=i+1; j<=n; j++)
            if(p[i].x-p[j].x!=0)
                pante[++k]=1.00*(p[i].y-p[j].y)/(p[i].x-p[j].x);
            else
                parox++;
    sort(pante+1, pante+k+1);
    for (i=2; i<=k; i++) {
        if(pante[i]-pante[i-1]<eps)
            nr++;
        else {
            nrtr+=(nr-1)*nr/2;
            nr=1;
        }
    }
    nrtr+=(parox-1)*parox/2;
    g<<nrtr;
    return 0;
}