Cod sursa(job #411937)

Utilizator cristiprgPrigoana Cristian cristiprg Data 5 martie 2010 11:33:40
Problema Cele mai apropiate puncte din plan Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <cmath>

struct point
{
    double x, y;
} P[100005];
int n;

double d(point a, point b)
{
    return  sqrt(pow((a.x - b.x), 2) + pow((a.y - b.y),2));
}

double min(double a, double b)
{
    return a<b?a:b;
}

int main()
{
    FILE *f = fopen("cmap.in", "r");
    fscanf(f, "%d", &n);
    for (int i = 1 ; i <= n; ++i)
        fscanf(f, "%lf%lf", &P[i].x, &P[i].y);

    fclose(f);
double    dmin = 1<<30;
    for (int i = 1 ; i <= n; ++i)
        for (int j = 1 ; j <= n; ++j)
            if (i!=j)
                dmin = min(dmin, d(P[i], P[j]));

    f = fopen("cmap.out","w");
    fprintf (f, "%lf\n", dmin);
    fclose(f);


    return 0;
}