Pagini recente » Cod sursa (job #2772393) | Cod sursa (job #1686131) | Cod sursa (job #3209593) | Cod sursa (job #2669713) | Cod sursa (job #1014212)
#include <stdio.h>
#include <math.h>
#include <memory.h>
#define MIN(a,b) ((a) > (b) ? (b) : (a))
#define MAX(a,b) ((a) < (b) ? (b) : (a))
#define ABS(a) ((a) < 0 ? -(a) : (a))
typedef struct
{
int x, y;
} point;
double dist_float(point p, point p2)
{
return sqrt((p.x - p2.x) * (p.x - p2.x) + (p.y - p2.y) * (p.y - p2.y));
}
int dist_int(point p, point p2)
{
return MAX(ABS(p.x - p2.x), ABS(p.y - p2.y));
}
int main()
{
FILE *fin = fopen("cmap.in", "r");
FILE *fout = fopen("cmap.out", "w");
int n;
fscanf(fin, "%d", &n);
point *p = malloc(sizeof(point) * n);
memset(p, 0, sizeof(point) * n);
int i, j;
for(i = 0; i < n; i++)
fscanf(fin, "%d%d", &p[i].x, &p[i].y);
int mdst = 241700000, m, p1, p2;
for(i = 0; i < n; i++)
{
for(j = i + 1; j < n; j++)
{
m = dist_int(p[i], p[j]);
if(m < mdst)
{
mdst = m;
p1 = i;
p2 = j;
}
}
}
fprintf(fout, "%.6f\n", dist_float(p[p1], p[p2]));
return 0;
}