算法实现题 推箱子问题

上传者: xifengxi | 上传时间: 2019-12-21 22:03:14 | 文件大小: 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。如果仓库管理员无法将箱子从开始位 置推到目标位置则输出“No solution!” 。 输入文件示例 输出文件示例 input.txt output.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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明