範例程式碼 uva534

//uva534
#include <cstdio>
#include <cmath>
#include <iostream>
#define MAXN 205

using namespace std;

double d[MAXN][MAXN];
int x[MAXN], y[MAXN];

double dis(int i, int j) {
	double dx = x[i] - x[j];
	double dy = y[i] - y[j];
	return sqrt(dx * dx + dy * dy);
}

int main() {
	int i, j, k, n, testcase = 0;

	while (scanf("%d",&n) && n) {
		for (i = 0; i < n; i++)
			scanf("%d %d",&x[i],&y[i]);

		for (i = 0; i < n; i++)
			for (j = 0; j < n; j++)
				d[i][j] = dis(i,j);

		for (k = 0; k < n; k++)
			for (i = 0; i < n; i++)
				for (j = 0; j < n; j++)
					d[i][j] = min(max(d[i][k], d[k][j]), d[i][j]);
				
		printf("Scenario #%d\n", ++testcase);
		printf("Frog Distance = %.3lf\n\n", d[0][1]);
	}
	return 0;
}