Cod sursa(job #898489)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 28 februarie 2013 10:29:37
Problema Cele mai apropiate puncte din plan Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <stdio.h>
#include <algorithm>
#include <math.h>

using namespace std;
FILE *f=fopen("cmap.in","r");
FILE *g=fopen("cmap.out","w");

struct nod{
int x;
int y;
}v[100005];

int n,i,a,b,j,nr;
double d,min1;



int cmp(nod a,nod b)
{
  if (a.x<b.x) return 1;
 else if (a.x==b.x && a.y<b.y)return 1;
 else return 0;
}

int main()
{
    min1=99999999;
 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++)
  {
      a=v[i].x;
      b=v[i].y;
     for(j=i+1;j<=i+7;j++)
      {
        nr=abs((v[j].x-a))*abs((v[j].x-a))+abs((v[j].y-b))*abs((v[j].y-b));
        d=(double)sqrt(nr);
       if (d<min1)min1=d;
      }
  }


fprintf(g,"%6lf",min1);
fclose(g);
return 0;
}