免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4926 | 回复: 6
打印 上一主题 下一主题

python求地图最短距离算法,大神们求指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-25 19:54 |只看该作者 |倒序浏览
本帖最后由 zp307300084 于 2014-04-09 17:22 编辑

假设这是一个地图,我要计算出走完这个地方的为0的最短距离
[
[1,1,1,1,1],
[1,0,0,0,1],
[1,0,0,1,1],
[1,1,0,0,1],
[1,1,1,1,1],
]

比如:'L' = 向左1步;'R' = 向右1步;'U' = 向上1步;'D' = 向下1步

最短距离则为:LLDRDR

这个没有出入口的,人可以随便放,只要走完全部标记为0的地方就行

论坛徽章:
0
2 [报告]
发表于 2014-03-25 20:00 |只看该作者
地图是标准的2维数组,5*5、4*4、6*6依次类推 ,中间不会出现1,0,1,0,1断开的情况,线都是连着的

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
3 [报告]
发表于 2014-03-26 09:32 |只看该作者
回复 1# zp307300084


第一, 能不能把你的 代码 放在 code 里. 这样, 格式不会变, 看得更清楚.

第二, 我没看懂你的答案, 不管人原来在哪里, 你的答案都走不出去. 另外, 你没说是 1 能走还是 0 能走.


第三, 我不一定能解答你的问题, 不过, 我对问题的结果很感兴趣.

论坛徽章:
0
4 [报告]
发表于 2014-03-28 18:11 |只看该作者
至少说明入口在哪里,出口在哪里啊。。

论坛徽章:
0
5 [报告]
发表于 2014-03-29 16:35 |只看该作者
感觉这是图论和拓扑学。。。
点有三种情况,我称为伯仲叔季,表示分别周围有4、3、2、1个1
这样定义:
伯:到了这个点后有三种选项,最复杂的点
   0
0 0 0
   0
仲:到了这个点后有两种选择
   1
0 0 0
   0
叔:到了这个点后没有选择,只能直走或转弯
   1           0
0 0 0     0 0 1
   1           1
季:起止点,到了这个点后就结束或者必须绕路(即成为一个新的起点)
   1
1 0 1
   0
所以就是,从季点作为起点,开始走,碰到仲点就成一个二叉,碰到伯点就成一个三叉,遍历所有可能,当长度超过最短长度(right_way_len)时,就continue,遍历上一个叉的另一种可能。直到遍历完所有可能。

想法是这样,编的话 得花点心思

论坛徽章:
4
白羊座
日期:2013-11-05 10:26:09冥斗士
日期:2015-11-17 14:19:55白银圣斗士
日期:2015-11-17 15:13:0815-16赛季CBA联赛之新疆
日期:2016-04-01 09:10:58
6 [报告]
发表于 2014-03-31 10:09 |只看该作者
可以考虑图算法里面的广度优先搜索,探索得到指定开始点和结束点之间的路径,那搜索到的就是你找到的路径。

论坛徽章:
0
7 [报告]
发表于 2014-04-04 09:58 |只看该作者
五元组表示的是什么意思啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP