Cod sursa(job #2089015)

Utilizator dragomirmanuelDragomir Manuel dragomirmanuel Data 16 decembrie 2017 10:13:57
Problema Cele mai apropiate puncte din plan Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>

using namespace std;

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

const int NMax = 100005;
int N;

struct Punct
{
    int x, y;
}v[NMax];

void Read()
{
    fin >> N;
    for(int i=1; i<=N; ++i)
        fin >> v[i].x >> v[i].y;
}

bool cmp(Punct a, Punct b)
{
    if(a.x == b.x)
        return a.y < b.y;

    else
        return a.x < b.x;
}

double Dist(Punct a, Punct b)
{
    return (double)sqrt((b.y - a.y)*(b.y - a.y) + (b.x - a.x)*(b.x - a.x));
}

double Brut()
{
    double mini = 1.0 * 0x3f3f3f3f;
    for(int i=1; i<N; ++i)
        for(int j= i+1; j<=N; ++j)
    {
        double dist = Dist(v[i], v[j]);
        if(dist < mini)
            mini = dist;
    }

    return mini;
}

int main()
{
    Read();

    fout << Brut();
    return 0;
}