#include #include #include #include #includeusing namespace std;#define N 210#define inf 100000bool vis[N];int n,flag;double dis[N][N];double length[N];struct Point{int x, y;}stone[N];double dijkstra();int main(){while (cin >> n, n){for (int i = 1; i <= n; i++){cin >> stone[i].x;cin >> stone[i].y;}for (int i = 1; i <= n; i++){for (int j = i + 1; j <= n; j++){dis[i][j] = dis[j][i] = sqrt((stone[i].x - stone[j].x)*(stone[i].x - stone[j].x) +(stone[i].y - stone[j].y)*(stone[i].y - stone[j].y));}}cout << "Scenario #"<<++flag<< endl;printf("Frog Distance = %.3f\n\n",dijkstra());}return 0;}double dijkstra(){// memset(length,inf,sizeof(length));for (int i = 1; i <= n; i++){length[i] = inf;}memset(vis, false, sizeof(vis));length[1] = 0;int TEMP;while (vis[2] == false){double temp = inf + 1;int xx;for (int i = 1; i <= n; i++){if (length[i] < temp&&!vis[i]){temp = length[i], xx = i;}}TEMP = xx;vis[TEMP] = true;for (int i = 1; i <= n; i++){if (!vis[i]){length[i] = min(length[i],max(length[TEMP],dis[TEMP][i]));}}}return length[2];}
uva534
最新推荐文章于 2021-02-26 10:52:03 发布