Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5392|回复: 30

[VBA] 用VBA解欧拉计划题目(83)--路径和:四个方向

[复制链接]
发表于 2017-12-6 16:49 | 显示全部楼层 |阅读模式
第83题:四个方向

附件还是和81题相同。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2017-12-6 16:50 | 显示全部楼层
这几个动态规划的题做得人欲死欲仙啊。。。。。
回复

使用道具 举报

发表于 2017-12-6 22:38 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-12-7 09:47 | 显示全部楼层
太复杂了。这题和84题是前100题中唯二没有做出来的题。网上有解法,但我看不懂。英文水平太差了。
回复

使用道具 举报

发表于 2017-12-7 15:47 | 显示全部楼层
我思考了一下,需要进行广度递归搜索计算。
回复

使用道具 举报

 楼主| 发表于 2017-12-7 15:59 | 显示全部楼层
广度递归搜索,听着就高大尚。
回复

使用道具 举报

发表于 2017-12-7 16:55 | 显示全部楼层
不知道是否正确,结果是最短路径=425547

如下图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-12-7 16:58 | 显示全部楼层
对5*5例子的验证,也是正确的。

131
234
103
18
201
96
342
150
422
111
121
37
331
回复

使用道具 举报

发表于 2017-12-7 17:16 | 显示全部楼层
从左上开始,按对角线进行数据填充。

随时检查最小值,如发现更小值就对之前的结果进行递归回溯覆盖。保证所有路径记录都是最小值。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-12-7 19:41 | 显示全部楼层
经确认,第82题也需要递归回溯检查,否则不能得到最短路径。

算法是一样的。不过起始数据为第1列,以及循环方式不同。

有趣的是,如果循环方式改为对角斜线,那么只要进行了4方向递归检查覆盖,也可以得到相同结果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-19 07:13 , Processed in 0.268960 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表