方格解谜·推箱子的站位:C6至F5的第20图
这是一道专为练习设计的单人方格关卡,主题是推箱子的站位,不是任何商业游戏的攻略。第20图从C6开始,目标标记在F5。先独立画一条候选路线,再与下文核对;解题重点是解释每一步为何允许,而不是记住某串方向。
读图与规则
地图共六行六列。列从左到右为A至F,行从上到下为1至6;例如C2表示第二行第三列。S是起点,G是目标,#是墙,.是普通空地。每次只能上下左右移动,不允许斜走或越过边界。
C是唯一箱子。只能向相邻格推动,不能拉;箱子前方必须是空地,角色同时走到箱子原位置。把箱子推到G完成,普通走路与推一下各算一次操作。
A B C D E F 1 . . . . . . 2 . . C . . . 3 . . . . . # 4 # # # . . . 5 # # # . . G 6 . . S . . #
C位于C2
先理解要记录什么
推动方向取决于角色能否站到箱子背后。先为箱子找路线,再核对每次推动所需的站位是否可达。
箱子靠近目标不一定更容易完成。推入非目标角落可能没有后续推法,单纯计算角色到G的步数没有意义。
可行路线与关键状态
C6 → D6 → D5 → D4 → D3 → C3 → B3 → B2 → C2 → D2 → D1 → E1 → E2 → E3 → E4 → D4 → D5 → E5
第8步在C2:箱子推至D2;第9步在D2:箱子推至E2;第12步在E2:箱子推至E3;第13步在E3:箱子推至E4;第14步在E4:箱子推至E5;第17步在E5:箱子推至F5。
1. 右:C6→D6;本次1,累计1 2. 上:D6→D5;本次1,累计2 3. 上:D5→D4;本次1,累计3 4. 上:D4→D3;本次1,累计4 5. 左:D3→C3;本次1,累计5 6. 左:C3→B3;本次1,累计6 7. 上:B3→B2;本次1,累计7 8. 右:B2→C2;本次1,累计8 9. 右:C2→D2;本次1,累计9 10. 上:D2→D1;本次1,累计10 11. 右:D1→E1;本次1,累计11 12. 下:E1→E2;本次1,累计12 13. 下:E2→E3;本次1,累计13 14. 下:E3→E4;本次1,累计14 15. 左:E4→D4;本次1,累计15 16. 下:D4→D5;本次1,累计16 17. 右:D5→E5;本次1,累计17
按照本题计分规则,上面这条路线用了17次操作,总代价为17。其中6次为推箱子,另外11次用于走到所需站位。最终箱子位于F5,角色无需同时站到G。
怎样确认答案
答案通过按累计代价从小到大展开合法状态核对。同一位置若带有不同钥匙、收集进度、开关状态、时刻、电量、朝向或箱子位置,只保留本题实际需要的状态信息。只有到达完全相同的状态,较高代价记录才可舍弃。所有操作代价都大于零,因此首次取出的完成状态给出本规则下的最低总价;可能存在其他并列最优路线。
动手复核时,先在C6标出初始状态,沿逐步记录逐格检查墙、边界和机关条件。到F5附近也不要省略最后一次检查。然后任选一处普通空地临时改成墙,重新判断原路线是否还成立;答案变化要从被改变的连接解释,不要把原解直接搬到新图。
