Pagini recente » Cod sursa (job #2400718) | Cod sursa (job #1785835) | Cod sursa (job #1767992) | Cod sursa (job #482495) | Cod sursa (job #1802541)
#include <fstream>
#include <vector>
#include <iomanip>
#include <cmath>
using namespace std;
ifstream cin("cmap.in");
ofstream cout("cmap.out")
struct pt //point
{
int x,y;
};
vector <pt> a;
double s;
void read()
{
int n;
cin >> n;
a.resize(n);
for (int i=0; i<a.size(); i++)
{
cin >> a[i].x >> a[i].y;
}
}
bool xx(pt a, pt b)
{
return a.x<b.x;
}
double dist(pt a, pt b) // distanta intre a si b
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
void solve()
{
double q;
for (int i=0; i<a.size(); i++)
{
for (int j=i+1; j<a.size(); j++)
{
q=dist(a[i],a[j]);
if (q<s) s=q;
if (a[i].x-a[j].x>s) break;
}
}
}
main()
{
read();
sort(a.begin(),a.end(),xx);
s=dist(a[0],a[1]);
solve();
cout << fixed << setprecision(10) << s;
}