博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ-2253-Frogger
阅读量:6233 次
发布时间:2019-06-21

本文共 1442 字,大约阅读时间需要 4 分钟。

链接:https://vjudge.net/problem/POJ-2253

题意:

给n个点,求1->2的路径的每段路中的最大值的最短路。

思路:

刚开始看不懂题。看了题解后看明白的。

直接Dijkstra算法,Dis数组保存到每点路径中的路段的最大值。

代码:

#include 
#include
#include
#include
#include
#include
#include
using namespace std;const int MAXN = 200+10;double Map[MAXN][MAXN];double Dis[MAXN];int Vis[MAXN];int n;struct Node{ double _x; double _y;}node[MAXN];double get_Len(Node a,Node b){ return sqrt((a._x-b._x)*(a._x-b._x) + (a._y-b._y)*(a._y-b._y));}double Dijkstra(){ memset(Dis,0, sizeof(Dis)); memset(Vis,0, sizeof(Vis)); for (int i = 2;i<=n;i++) { Dis[i] = Map[1][i]; } Vis[1] = 1; for (int i = 1;i<=n;i++) { int w; double small = 9999999.0; for (int j = 1; j <= n; j++) { if (Vis[j] == 0 && small > Dis[j]) { w = j; small = Dis[j]; } } Vis[w] = 1; if (w == 2) return small; for (int j = 1; j <= n; j++) { if (Vis[j] == 0) { //double now = max(small,Map[w][j]); //if (now < Dis[j]) //Dis[j] = now; Dis[j] = min(Dis[j], max(small, Map[w][j])); } } }}int main(){ int cnt = 0; while (cin >> n && n) { for (int i = 1;i<=n;i++) { cin >> node[i]._x; cin >> node[i]._y; } for (int i = 1;i<=n;i++) for (int j = 1;j<=n;j++) Map[i][j] = Map[j][i] = get_Len(node[i],node[j]); double v = Dijkstra(); if (cnt != 0) printf("\n"); printf("Scenario #%d\nFrog Distance = %.3f\n",++cnt,v); }}

  

转载于:https://www.cnblogs.com/YDDDD/p/10272219.html

你可能感兴趣的文章
监听textarea文本框文本输入情况
查看>>
【Android】1.开发环境搭建
查看>>
Java线程池
查看>>
首席工程师揭秘:LinkedIn大数据后台是如何运作的
查看>>
【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存
查看>>
(转)Is attacking machine learning easier than defending it?
查看>>
Git与GitHub学习笔记(三).gitignore文件忽略和删除本地以及远程文件
查看>>
Some Conclusions about Python Programming
查看>>
一次性下载CVPR2016的所有文章
查看>>
Android 首页图片轮播
查看>>
解决Android NDK 报jxxx编译找不到
查看>>
EntityFramework Core Raw Query再叙注意事项
查看>>
全文检索Lucene (2)
查看>>
探讨SQL Server并发处理存在就更新七种解决方案
查看>>
当今游戏大作share的特性大盘点
查看>>
CountDownLatch使用
查看>>
创建 Image - 每天5分钟玩转 OpenStack(21)
查看>>
sql server中根据地图经纬度算距离
查看>>
VMware“该虚拟机似乎正在使用中”问题
查看>>
在Asp.Net中操作PDF – iTextSharp - 使用表格
查看>>