uva534

8 篇文章 0 订阅
#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];}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值