Cod sursa(job #2727172)

Utilizator razviOKPopan Razvan Calin razviOK Data 21 martie 2021 16:00:59
Problema Cele mai apropiate puncte din plan Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
using namespace std;
ifstream f("cmap.in");
ofstream g("cmap.out");
struct punct
{
    int abscisa,ordonata;
} puncte[100001];
long double distanta,distanta_min=2e9;
punct sol1,sol2;
int n;
int main()
{
    f>>n;
    for(int i=0; i<n; i++)
        f>>puncte[i].abscisa>>puncte[i].ordonata;      //citim coordonatele celor n puncte

    for(int i=0; i<n; i++)                            //calculam lungimea tutror dreptelor posibile
        for(int j=i+1; j<n; j++)
        {
            distanta=sqrt((puncte[i].abscisa-puncte[j].abscisa)*(puncte[i].abscisa-puncte[j].abscisa)+
                          (puncte[i].ordonata-puncte[j].ordonata)*(puncte[i].ordonata-puncte[j].ordonata));
            //calcularea distantei dintre doua puncte dupa formula d(A,B)=sqrt((xA-xB)*(xA-xB)+(yA-yB)*(yA-yB));
            if(distanta_min>distanta)
            {
                distanta_min=distanta;
                sol1=puncte[i];
                sol2=puncte[j];
            }
        }
    g<<distanta_min;
     return 0;
}