找回密码
 欢迎注册
查看: 15699|回复: 3

[求助] 请教拓扑学

[复制链接]
发表于 2009-4-12 23:01:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
现有如下问题:

地图(MAP),
地图是用一个二维数组表示的。数组里的值代表地图上对应的道路、墙壁、或者宝物。

大门位于地图的 (0,0) 点(左上角)。开始的时候位于这个点,结束的时候也必须回到这个点。

可以向上下左右四个方向移动。如果移动的目标是墙壁或者宝库的边界,那么移动不会成功。如果移动的目标点上有宝物,那么宝物会自动被拣起。每移动一次就算是走了1步。

有步数限制,只能走N步,因此劳必须在N步之内(包括N步)回到大门处(坐标0,0点)。如果没能回来,就算任务失败。

我学想出什么好办法,就是贪心,选距当前最近的走,但这样效率不高,在CSDN上有人说用拓扑学中的有关知识解决,但小弟不才,谁能给说说。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-13 08:18:12 | 显示全部楼层
问题描述的不是很清楚
猜想你的地图是个离散的(既然你有一步的说法)
不知你是预先可以知道地图结构还是只能根据反馈来了解
如果是前者,则用A*之类的寻路算法
如果是后者,在N较小时,就随便找个方向看运气了
如果N足够大,如果内存足够存储地图(或说地图足够小),应该用深度优先遍历之类的策略
你说的“我学想出什么好办法,就是贪心,选距当前最近的走”是什么概念,不太明白
感觉和拓扑学关系不太大
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-15 11:23:32 | 显示全部楼层
我也感觉同拓扑学没有关系.
而且这个题目看上去也的确很难能够找到最优解.
也许用A*算法是比较合适的一种方法了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-4-15 12:50:36 | 显示全部楼层
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-4 13:33 , Processed in 0.062531 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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