首页 开发技术 其它     /    算法实现题推箱子问题

算法实现题推箱子问题

上传者: xifengxi | 上传时间:2024/3/30 21:20:28 | 文件大小:68KB | 文件类型:rar
算法实现题推箱子问题
´问题描述:码头仓库是划分为n×m个格子的矩形阵列。
有公共边的格子是相邻格子。
当前仓库中有的格子是空闲的;
有的格子则已经堆放了沉重的货物。
由于堆放的货物很重,单凭仓库管理员的力量是无法移动的。
仓库管理员有一项任务,要将一个小箱子推到指定的格子上去。
管理员可以在仓库中移动,但不能跨过已经堆放了货物的格子。
管理员站在与箱子相对的空闲格子上时,可以做一次推动,把箱子推到另一相邻的空闲格子。
推箱时只能向管理员的对面方向推。
由于要推动的箱子很重,仓库管理员想尽量减少推箱子的次数。
´编程任务:对于给定的仓库布局,以及仓库管理员在仓库中的位置和箱子的开始位置和目标位置,设计一个解推箱子问题的分支限界法,计算出仓库管理员将箱子从开始位置推到目标位置所需的最少推动次数。
´数据输入:由文件input.txt提供输入数据。
输入文件第1行有2个正整数n和m(1<=n,m<=100),表示仓库是n×m个格子的矩形阵列。
接下来有n行,每行有m个字符,表示格子的状态。
S表示格子上放了不可移动的沉重货物;
w表示格子空闲;
M表示仓库管理员的初始位置;
P表示箱子的初始位置;
K表示箱子的目标位置。
´结果输出:将计算出的最少推动次数输出到文件output.txt。
如果仓库管理员无法将箱子从开始位置推到目标位置则输出“Nosolution!”。
输入文件示例输出文件示例input.txtoutput.txt

文件下载

资源详情

[{"title":"(6个子文件68KB)算法实现题推箱子问题","children":[{"title":"input.txt <span style='color:#111;'>147B</span>","children":null,"spread":false},{"title":"output.txt <span style='color:#111;'>12B</span>","children":null,"spread":false},{"title":"push.cpp <span style='color:#111;'>8.55KB</span>","children":null,"spread":false},{"title":"input9.txt <span style='color:#111;'>231B</span>","children":null,"spread":false},{"title":"inpu4.txt <span style='color:#111;'>147B</span>","children":null,"spread":false},{"title":"push.pdf <span style='color:#111;'>71.65KB</span>","children":null,"spread":false}],"spread":true}]

评论信息

  • wendqwengy:
    东西不错,代码看的不是太懂。注释能给的再详细点就好了。2014-08-30
  • 醉凡尘1218:
    东西不错,就是太复杂了,我们的作业只要求实现一个箱子,一个人的问题2014-06-01
  • zxzxdw:
    最近在做这个,参考一下,但是有些方面不能完全理解,而且如果推箱子中往回走会不对2014-05-14
  • hsh1_2_3_4_5:
    资料对我很有用,很有帮助,是好东西,五星必须的2014-03-25
  • tortoise8:
    资料很详细,受到启发,在网上又查阅了一些资料,对此算法有了进一步理解!谢谢2013-09-17

免责申明

【好快吧下载】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【好快吧下载】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【好快吧下载】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,8686821#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明