方格解谜·不同地形的移动代价:F6至B4的第07图
这是一道专为练习设计的单人方格关卡,主题是不同地形的移动代价,不是任何商业游戏的攻略。第07图从F6开始,目标标记在B4。先独立画一条候选路线,再与下文核对;解题重点是解释每一步为何允许,而不是记住某串方向。
读图与规则
地图共六行六列。列从左到右为A至F,行从上到下为1至6;例如C2表示第二行第三列。S是起点,G是目标,#是墙,.是普通空地。每次只能上下左右移动,不允许斜走或越过边界。
普通格每次进入花费1点,M地形每次进入花费3点。目标是总花费最低,而不是移动次数最少;起始格不收费。
A B C D E F 1 . # M # . # 2 . M . . . . 3 # . . # . M 4 . G # . M M 5 . . # . # M 6 . # . . . S
M位于F3、F4、E4、C1、F5、B2
先理解要记录什么
步数与代价要分开记录。一条多走几格的路,可能通过避开高代价格而节省总花费。
不能拿仅统计步数的路线直接当成最低代价答案;重复进入同一M也会重复计费。
可行路线与关键状态
F6 → E6 → D6 → D5 → D4 → E4 → E3 → E2 → D2 → C2 → C3 → B3 → B4
第5步在E4:地形费用3。
1. 左:F6→E6;本次1,累计1 2. 左:E6→D6;本次1,累计2 3. 上:D6→D5;本次1,累计3 4. 上:D5→D4;本次1,累计4 5. 右:D4→E4;本次3,累计7 6. 上:E4→E3;本次1,累计8 7. 上:E3→E2;本次1,累计9 8. 左:E2→D2;本次1,累计10 9. 左:D2→C2;本次1,累计11 10. 下:C2→C3;本次1,累计12 11. 左:C3→B3;本次1,累计13 12. 下:B3→B4;本次1,累计14
按照本题计分规则,上面这条路线用了12次操作,总代价为14。若完全忽略地形价格,最少只需10步;本题选择多走2步来降低实际费用,不能拿两个不同指标直接比较。
怎样确认答案
答案通过按累计代价从小到大展开合法状态核对。同一位置若带有不同钥匙、收集进度、开关状态、时刻、电量、朝向或箱子位置,只保留本题实际需要的状态信息。只有到达完全相同的状态,较高代价记录才可舍弃。所有操作代价都大于零,因此首次取出的完成状态给出本规则下的最低总价;可能存在其他并列最优路线。
动手复核时,先在F6标出初始状态,沿逐步记录逐格检查墙、边界和机关条件。到B4附近也不要省略最后一次检查。然后任选一处普通空地临时改成墙,重新判断原路线是否还成立;答案变化要从被改变的连接解释,不要把原解直接搬到新图。
