Pagini recente » Diferente pentru propuneri/6-arhiva-educationala intre reviziile 5 si 16 | Istoria paginii schimbare-borland/ghid-freepascal | Monitorul de evaluare | Rezultatele filtrării | Cod sursa (job #783721)
Cod sursa(job #783721)
#include<fstream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
ifstream f("cmap.in");
FILE *g;
int i,j,n;
double p,d;
struct punct{
int x,y;
};
punct v[100001];
bool cmp(punct a,punct b)
{if(a.x<b.x)
return 1;
return 0;
}
double dist1(int i,int j)
{return (double) sqrt ((double)(pow(v[i].x-v[j].x,double(2))+ pow (v[i].y-v[j].y,double(2))));
}
int main()
{f>>n;
g=fopen("cmap.out","w");
for(i=1;i<=n;++i)
f>>v[i].x>>v[i].y;
sort(v+1,v+n+1,cmp);
d=1000000000ll;
for(i=1;i<=n;++i)
for(j=i+1;j<=i+7&&j<=n;++j)
{p=dist1(i,j);
if(p<d)
d=p;
}
fprintf(g,"%.6lf",d);
return 0;
}