Pagini recente » Cod sursa (job #1525909) | Cod sursa (job #1515846) | Cod sursa (job #219225) | Cod sursa (job #2399545) | Cod sursa (job #898263)
Cod sursa(job #898263)
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;
FILE *f=fopen("cmap.in","r");
FILE *g=fopen("cmap.out","w");
struct vec
{
int x,y;
}v[100001];
int i,n,j;
bool ok;
double mn;
bool cmp(vec i,vec j)
{
if(i.x<j.x)return 1; else
if(i.x==j.x && i.y<j.y)return 1; else
return 0;
}
double dist(vec i, vec j)
{
return sqrt(1ll*(i.x-j.x)*(i.x-j.x) + 1ll*(i.y-j.y)*(i.y-j.y));
}
int main()
{
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d%d",&v[i].x,&v[i].y);
sort(v+1,v+n+1,cmp);
/*for(i=1;i<=n;i++)
fprintf(g,"%d %d\n",v[i].x,v[i].y);
*/
ok=0;
for(i=1;i<=n;i++)
for(j=i+1;j<=i+7;j++)
{
if(!ok){mn=dist(v[i],v[j]);ok=1;}
else
if(dist(v[i],v[j])<mn)mn=dist(v[i],v[j]);
}
fprintf(g,"%.6lf",mn);
fclose(g);
return 0;
}