求解答一个算法问题!

sinat_35221602 2017-02-23 03:17:46
有一个N x N 的方阵(3≤N≤100), 如下:

一个人从西北角出发,走到东南角。他的每一步只能上下左右,不能斜着走入下一个方块。每跨过一个边界的时间为T (0≤T≤1,000,0000), 每走三步他要休息一下,每个格子的休息时间不一样, 在起点格子不休息,在终点格子有可能会休息。请计算出此人走到终点需要的最短时间。
输入格式:
先是N, 然后是T,最后是每个格子需要休息时间的数列。
例子如下:

4 2
30 92 36 10
38 85 60 16
41 13 5 68
20 97 13 80

输出格式:需要的最短时间。
比如对应以上的输入例子,最短时间是31
因为对于这个例子,最佳路径是往东走三步,在10 休息,然后往南走两步,往西走一步,在5休息,最后往南往东各走一步到达终点。

有什么思路可以分享吗
...全文
213 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘻哈路过 2017-02-23
  • 打赏
  • 举报
回复
不是特别明白,围观中
lxllglvs 2017-02-23
  • 打赏
  • 举报
回复
比如,从A开始,可以到m,j,g,b,e,d,可以得到权值,a到m的权值是3*T+20,a到j的权值是3*T+13,依次求出来,然后是从B开始可以到的所有点,把权值求出来,这样就可以得到一张图,然后参考A*算法就可以了,A*算法网上一搜就有,这是我能想到的办法
lxllglvs 2017-02-23
  • 打赏
  • 举报
回复
可以参考A*算法

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧