魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 137523|回复: 4
打印 上一主题 下一主题

ACM国际大学生程序设计竞赛中的推箱子 [复制链接]

Rank: 7Rank: 7Rank: 7

积分
5283
帖子
3230
精华
19
UID
13140
性别

论坛建设奖 八年元老

跳转到指定楼层
1#
发表于 2011-2-7 20:41:57 |只看该作者 |倒序浏览
ACM国际大学生程序设计竞赛(ACM-ICPC)第一届于1977年举行。
到2010年一共办了34届(第34届总决赛在中国哈尔滨举行的)。

ACM-Association for Computing Machinery , 美国计算机协会.  
ICPC-International Collegiate Programming Contest , 国际大学生程序设计竞赛.

推箱子似乎也屡次被这个比赛用作练习题或者地区性选拔赛的题目。

如:

(一)给出一个只有一个箱子的关卡,求最少推动步数

(North America - Northeast - 2006/2007)
http://acm.uva.es/archive/nuevoportal/data/problem.php?p=3745

http://acm.hdu.edu.cn/showproblem.php?pid=1254

(二)Harder Sokoban Problem
给定关卡迷宫,以及一个目标位置,求如何放置箱子和人的初始位置,使得移动步数最大?

(Northeastern Europe 2004 Far-Eastern Subregion)
http://acm.tju.edu.cn/acm/showp2370.html

Rank: 1

积分
24
帖子
343
精华
0
UID
62016

十年元老

2#
发表于 2011-2-7 21:02:01 |只看该作者
只会第一题,动态规划就行了
第二题应该也差不多吧...应该也是动态规划....

使用道具 举报

Rank: 1

积分
11
帖子
10
精华
0
UID
71211
性别
保密
3#
发表于 2011-2-7 21:22:37 |只看该作者

回复 2# 的帖子

不行的,推箱子已经被证明是NP难问题了,动态规划不可能成功,只能搜索。不过这题状态数相当少(只考虑人和箱子相邻的状态就够了),直接搜就可以了,时间复杂度O(mn),不会超时。
第2题类似于第一题,把每一种情况的步数算出来即可,用记忆化的方法可以使时间复杂度降到O(mn),一样不超时。

使用道具 举报

Rank: 1

积分
11
帖子
10
精华
0
UID
71211
性别
保密
4#
发表于 2011-2-7 21:25:43 |只看该作者

回复 2# 的帖子

2楼是中山的?那里信息学好强好强啊……广州的表示无限膜拜……

使用道具 举报

Rank: 3Rank: 3

积分
849
帖子
769
精华
0
UID
69058
性别
保密

两年元老

5#
发表于 2011-2-7 23:34:13 |只看该作者
只会切水的菜鸟路过。。

使用道具 举报

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

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-9-21 11:17

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部