魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
搜索

第149期MF8推箱比赛关卡解析

发布者: 20603 | 发布时间: 2021-5-28 13:28| 查看数: 8065| 评论数: 4|帖子模式

本帖最后由 20603 于 2021-5-28 14:10 编辑

第149期MF8推箱比赛关卡解析

文 / Zou Yongzhong

  和121期比赛一样,这期比赛的关卡都是二维码关卡。主关和副关1比较难,明天比赛就结束了,截止今天(20210527)写这篇解析文章时,只有cjcjc一人提交了主关和副关1的解答,可见是有难度的。在这儿讲解一下主关和副关1,副关2比较简单,就不讲了。
  一、主关《推箱之家-N1》是121期比赛主关《推箱之家》的升级版,重点也是如何将两处半位合成一个完整箱位。原《推箱之家》是利用I 3偶半位和I8奇半位合成了一个箱位,但《推箱之家-N1》在12行中间部位加了两个墙,使得I8的奇半位无法腾出,整个关卡似乎少了一个奇半位。其实关卡可以通过中上部位的处理形成一个箱位:
DDLLdLLLuULuuuuuluuuLLDDLLDlluuuuuuurrRlllddRUlddddddrruuuLrddrruuLrddlluRurrruulDrddRRuLruuLDlluRluurDlLrddrrruuLLrrddlUrdddlldLLUluURRRluRuulDrddlllddlddlluuRuRDulURR
推箱之家-N1-2.png

  但这是一个陷阱。因网锁的存在,中上部提前到位,封死了网口,造成关卡无法收尾。
  那么,只好重新回到刚才的想法,寻找一个奇半位。
  我在《推箱子游戏中半位空间的奇偶属性与磁铁效应》里分析过,半位空间在关卡内不论怎么移动,其奇偶属性是不变的,除非产生死锁。死锁通常指关卡局部无法脱困从而导致关卡无解,但在这里我要引入一个“合法死锁”的概念:关卡局部形成无法推动的局面,但相关木箱都在目标点上,即提前到位不能再推动的局部。合法死锁是推关卡经常碰到的状况,甚至可以说推关卡的过程就是不断制造合法死锁的过程。合法死锁只描述局部的合法性,并不必然导致整个关卡有解或无解。死锁可能会改变半位空间的奇偶属性,合法死锁亦然。
如下图:J2、M2、K3、L3这4个点填上后,事实上产生了合法死锁,半位空间由红色的奇半位变换成了黄色的偶半位。
推箱之家-N1.png


  在这个关卡中,由于需要填上一些初始目标点腾出空间和通道,我们可能会优先尝试形成合法死锁,所以容易看到形成合法死锁后的I3偶半位空间,忽视了原先就存在的M2奇半位空间。
  也许有人并不是忽视了M2奇半位空间,而是发现这个半位空间后,觉得无法利用,因为这是一个受限半位。受限于周围的墙和木箱组成的空间结构,这个奇半位无法向外移动。其实一个受限半位,如果有向外的出入通道(非窄形通道),即使不能移动这个半位,也可以移动其它半位来与它会合。很容易看到,右下角有一个Q15偶半位,如果能转移到上方黄色虚框 位置,则可合成一个箱位。我在设计这个半位的转移时,尤其是穿过绿圏区域时,试图设置一个小陷阱,并增加腾挪难度。设想的腾挪过程是:
DDLLdLrurrDLrDDLUruullLdDRRUdlluurDlLLuRdrrrddrDDLUlLUURDldLLuURuulULLDDDDRluuuuruuuuuluuuLLDDLLDllddddddddddddRRuuRuuUUrURuRldldlddRUldddRUluurRUrUrrdrddlLdlLLrrrurruululldldDulldRddllddlluuRlddrruL
  按照这一设计思路,N19、O19、P19三个点分别由L19、O15、S19三个木箱来填,那么O13箱一旦推到M13位将会导致O15木箱不能推到O19点,形成一个小陷阱,要绕一圈用M14箱推M13位才行。而实际上,这一设计并不成功,从cjcjc先生提交的解答看出,可以由L19木箱来填O19,腾挪上要简单多了:
DDLLdLLulULuuuuuluuuLLDDLLDllddddddddddddRRuuRRRlluuRRDullddrUdllddlluuRlddrruL
  这就将右下的偶半位转移到了左下,然后从左侧往上转移比较简单。这样分析下来,成功合成一个箱位就不觉得难了。有了完整箱位,关卡的腾挪就顺畅多了,把握好顺序,看明白收尾次序,就能过关。在这里发布完整答案供参考:
DDLLdLLulULuuuuuluuuLLDDLLDllddddddddddddRRuuRRRlluuRRDullddrUdllddlluuRlddrruLuluuLLdRuruullDullllDDrrURuLrruuUlLdDRddldlluuURRlldddrrururrruuuuuullllDDDDuulldRuruullDurrrrrruuuuuuLLddddllDullDRurrruuuurrddddLruuuulldddRdrUdddrruuuLrddrruurruuluurDlLrdDrddLUUddrRRuuuuLLDDldlLDRRlllddlluuRldRldddddddllURdrUUUUUUruuRRurrdRddrddddLLdLdllLLuuuuuurrDRdRRRlllululldRRluuulluluuurrdRDDDDDldddLLURdrddlldldldlluuurUrUURRdrrdddddldldddlllluuUUddddrrrrRRUrrdLLLLuuururuurrrDDDrruLddddLLulldlluuururuurrrrururrdrdrdrrurrDLLrrDDLUruulldRddrDDLUUdlLuRdlLLuLULLdldddllulldlluuururuurrrrururrdrdrdRRDDuullulululldldllURuRRdLdllllulldRRddldldddrrurrdrruuururrdrdrruruullululLLullDlLLuullulllUUUluuuuurrRRdddrdrrrDldlUruuuuluLLdddrdRdrruruULDrrruLLrrruurrddLLuurDluulldRRddLddrUllldRulllDRllluluuurrurrRlllddrUllldddrdrddrUluRuUdrruLdrrddLLrruurrdLuuLrUruulDDrrrdddLLuURldlluRRdllllldlluRRRRllllluuurrdDuulldddrdrdddDDllullluuRRRRUdllURdllluluuuuurrRRdddDDldlluRuRldlluuuuurrrrdddDllddldlUUrdddrrrdrruuUlLLLuurrDulldllddrUluRdddrrrdrruuulLLLrrrrdddllullluUddrddlUlUdrddlUrruurrdrruLLrrdDDDllldldllURURUUluUrDRRurrddddllLLuUddrrrruuuulldlLdlldDRRuuuullDDuurDrrrurrddddllLdLUUUddrruLdrrruLLdllddllddddrrRRuuuruULLrrddlUruLuuUdrrrrrurrdrrrdrdrrddldllululldllURRllLLLLuUrDlddlUddddlllluuuurrRRdrUldddRUluurRRRRdrdddlluluLUdrdLrrdrruLLrruulDuullLuuurrrurrdrrrdrdrrddldllulLLuLDrrruLdrrdrruruullululllulldRdDDLLURUruulDrRRDDDLLUlldRurRdrUdrdrdrruLrruullDLLrrurrddldlUrruullulDuuLuLLdllllldddRRurrUdrddLUUlldlluuurrDulldddrrRurrddlDlLrUrUrurRddRdrruruuurruuLLDDDurUrdDDDLddrUUUUUllLdlLLddrdrrRRuruuLLLrrrddlddrUllllluluurDldLLuuRlddrruruuululldLLDurrurrdLruuUlUUULUUrDDDrDDDDuuRluululLLURlLulLdRlDDrUURRdrrruulDruuUlDrddlLdlLuuuRRRurrrurrrrddddllLLLLuUluRddddLLuRUruulDlllddRRUddrrUULuurDldDrrruULLrrddlUdlluRuuluurDldDrddrrrrrruuuullllLLulDrDDuurrrrrrddddlllluuUdddrrrruuuulllLddddllllllllddlluuRRRRRRRRlllllllluuuulllldddDRRRRRlddrrDDDDuullUU

已有 2 人评分经验 收起 理由
sokoban + 20 很给力!
anian + 15 赞一个!

总评分: 经验 + 35   查看全部评分

最新评论

20603 发表于 2021-5-28 13:34:12
本帖最后由 20603 于 2021-5-28 13:35 编辑

  二、副关1《推箱栈房》整体难度应该比主关略高,关键是腾挪上难一些。
推箱栈房.png

  关卡有多种打开路径,如果我告诉你只要58步(移动)就可以打开关卡并腾出1个箱位,你可能不相信开局会如此简洁:
rrddddDDDDllluulllULLdDDrDDDRRRRRRdrrdddLUdLdlLURURUdlddrU
  从直观角度看这个关卡,M10箱好像应该推到M8位,这样进入中上部分比较顺利,多数人可能是这么想的。这带来的后果是M13箱必须推到L13位,中间局部填死阻断了一些道路。若推N8箱到L8位,再推M10箱到M12位,这个路径则很隐蔽,却很简洁。
关卡右下有明显的两处半位(见图中的黄色方框),但都是偶半位,所以无法合成完整箱位。和主关一样,这里有一个合法死锁能变换半位属性,黄色圆圈内的6个木箱推死后形成合法死锁,这种类型的合法死锁让黄圏旁边的半位空间改变了属性,偶半位变为奇性,刚好与P18偶半位合成一个箱位。
倘若你不知道这种合法死锁能变换半位空间属性,不用担心,关卡还有另外的路径:
关卡下方绿圈内的4个点倘若推死,则能形成1处偶半位(见图中的绿色方框);关卡上方红圈内两个靠顶墙的点如果填死,则能形成1处奇半位(见图中的红色方框)。这两处半位能合成1个完整箱位。然而这两处的几个点不是立即就可以填上的。分析一下,红圈内的两个点若要填死,必须先移开O3木箱,这在没有外部空位参与腾挪的情况下,是不可能的。
那么下方绿圈内的4个点有没有办法填上呢?这要引入一个新的概念,叫“无位腾挪”。我们已经讲过半位腾挪,大家都明白是什么意思了,这无位腾挪,顾名思义,连“半位”都不给你,在只有过道(没有通道)的情况下让你腾挪出想要的局面。严格意义上的无位腾挪至少包括两种情况:一种是突围式腾挪,比如很多关卡开局时搬运工处在封闭狭小的区域,需要推动周围的木箱突围出去,或者搬运工从无空位的区域进入另一个封闭区域所进行的突围,有时突围式腾挪需要对死锁和合法死锁有良好的判断才能完成。第二种是转移式腾挪,为了腾出空位而要填死某些点,但这些点无法直接填上,需要对周围木箱在不同过道之间进行转移。我曾专门把这种类型的无位腾挪引入到一个关卡中,这个关卡就是《仓库之星》,有兴趣的可以从中找找无位腾挪的感觉。
  在设计《推箱栈房》时,我做了好几个不同版本,在这几个版本里,绿圈内的点位填放所要求的腾挪方法是不同的,但由于关卡放置时间太久,最后修改用做比赛时,把几个版本混淆了,造成比赛关卡的这部分无位腾挪有多种方法。其实这个版本的E15木箱应该放在D14位置,腾挪方法就变得唯一了:
rrddddDDDDDDlddrrdddLLdlLUlldllLLddllluuuuRRRDDrrrrurrdrrurruuulluuruullluulllULLdDDlDDlDDrDDlllddrRRllluurrrDulllddrrUruLruulDuuurDuuulDurrrDLuuuurrdrdddLruLruulDuuluUrlddrdrrrddrrruuuuuuuullllddddrDDllluluurDuuulDrddldldllUdrrururuuluuurDlddrddldldlluRuUlDurUUluuRDRlldDrRUrU
  要顺利完成这部分无位腾挪,进入左下区域时,必须推M19箱到K19位,如果推M21箱到K21位,或者推L18箱到L20位,都无法完成腾挪。但由于E15木箱的错误放置,造成了腾挪方式的多样化,比如:
rrddddDDDDDDlddrUUUUUUddddddrdddLLdlLUlldlluullDDllluuLLddddlllluuuurUURRRDDrrddrrruurrddrrurrdrrurruuluuuuullluulllULLdDDlllllLLddRDDlllddlddddrrrruuRRRRlluuRRRlllddrrUruL
  也由于E15木箱的放置,甚至可以用完全不同的开局。也就是之前所说的,从直观角度看这个关卡,M10箱推到M8位,进入中上部分会比较顺利。这种比较直观的开局因E15木箱的存在而变提可行:
rrddddDDDDlDDrdddrddLLdlLUlldlluullDDllluuLLddddlllluuuurUURRRDDrrddrrruurruuuuLuulllllLLddRDDlllddlddddrrrruuRRRR
  但这种开局M13箱左移了一格,让中间的局部木箱形成合法死锁,中断了上下连接,好不容易在下方腾出的绿色半位(K17偶半位)怎么转移到顶部呢?其实可以从左侧绕一圈转移上去:
rrddddDDDDlDDrdddrddLLdlLUlldlluullDDllluuLLddddlllluuuurUURRRDDrrddrrruurruuuuLuulllllLLddRDDlllddlddddrrrruuRRRRlluuuuLLuuRDulluurrrrrrrUUllllllDurruuLLDurrddrrruulDrdrddddrddddddrrurrdrrurruuuluuluuruuuuuuuulllldLLdddlLrruuurrdddLruuullddRUruurrrrddddddddllluullUUUdddrrddrrddrdddrddlldllulldlluuuuuuluuuululuuUrRDRRllulldRlddrUluuruulDurRurrDDDLddLLUUUluuRRllddrUluR
  cjcjc先生提交的解答就是使用了这种开局。
  我们已经介绍了几种完全不同的开局,相信总有一种开局被你发现,但这个关卡的难度是整体的。我们知道关卡主要难在开局和收尾,如果开局和收尾都理顺,对我们解开全关是极大的帮助。现在研究收尾有了好的工具,那就是逆推,如果顺推和逆推都能顺利打开关卡并产生可供运行的箱位,那么只要顺逆相合就过关了。
  如果你能逆推到这一步:
推箱栈房2.png


  离解开关卡就不远了。但逆推到这一步的腾挪比较难,原始二维码H9点应该在H8位,我把它移到H9位,使得收尾产生一部分比较难的半位腾挪。如果不移动这个点位,逆推就容易多了。关键是顺推和逆推都要看明白,那就是一种难度叠加了。常常关卡的难点不是某一处形成的,而是多处难点互相叠加使得难度几何级增加。我对逆推不熟,所以无法讲解逆推过程和技巧,但我们可以通过在头脑中摆箱子的方法来发现收尾形状,只要能发现这个形状,即使逆推腾挪功力达不到,也可以将相象的形状画出来,用顺推来弥补。
  这个关卡在开局和收尾之间是有不少空位的,所以中间的顺逆相合过程并不复杂。在此也把答案公布出来供参考:
rrddddDDDDllluulllULLdDDrDDDRRRRRRdrrdddLUdLdlLURURUdlddrUlllldRRurrrruuulUllllllluuuluuurrdrrrddrrDDuulldRurDuruuuuuuuullllddddrRRllluuuurrrrdddDDDDuuulllDDlllulldddrdddDDDllDDRRRddlUruRurrdLdLLuRdrUrurrdLLLdlluRuRRdLrrrurruuuluLLUUluRlUUrDullUUrrDulDldlluRlluUruulDrdDldRlldllURuUURRDrddlLrruuluurDDluuuurDDldllUluuRRllddrRUddrUruRRdLLLdllddDrrUUrULuRlddddlluuRlddldlluuuRRRuulDrdddrruULrddlluUrrdLurruulDDruuurrddLLdllddrrURUdldlluurDuRdrRDrruLLLLulldddddrdddrrrRRuuluuUUlullddrdddDLdRuuuLDruuulDDrdddllULUURRuuuuullddRllldlluRRdllllURRdrruRRuurrdrrdrddddrddlLLuuUllllllllUUruRRdlllluRdddrUdlLLddRUluRUruulDlDDrUluRuUlllluuuurrrrddDDlDDllUdrrrddlUrrrdrrrrrrrdddrDDDDlDlLUUllddllluuuullUUUURuLdddRUldddrrddLLUdrruulDrdddrrruulLDldRRllddrUluururuuLDlDDrUlulldRuuUluuuuuLuurDDDDDrDDlUUrddDDrRdrrrrddrrurrdrruLLrrrruuuluLLLruuluuuulullulldddLLulLLLddrDDlddrddrrdrrrrddrddlUUrrRdLullddrUrruRurrrruuululluuluuuulullulldddllullllddrddlddrddrrdrrrrDDRRuRRRuLdllddrUrurRdLLLdlluRuRRllddrUluRdllluullllulluuluurDDuuuuluurrrrdrruuurrdrrdrruLLrrrruuuullLLddDDrdddddrddrrdrddddLLLLLulDlluullllulllUUruuuuluurrrrdrruuurrdDDDurRlluuulldddllullllddrddddlddrrrdrrrrddrrrrrrrruuuululluuluuUdddrddrrdrddddlllllllluulllluurDlllluurDlddddddlllluuuurUURRllddlddddrrrruuuuLULullDDrRurrRuulDruuuuuluurDDDDlUlLLUURRRDrdLuuurrrrdrrDuuuurrdddrrrdrUldddrddrrdrddddlllllllddlLLLUlUUURuulLLuUUluuuurruurRRlllddrUdlllddrrUdllddrUdddddLddRUUUUlDDruuUUlDDuuuuuurRddLruulldDuuuuuuullllddddRRRllluuuurrrrdddDDrrddllDDrddlUrdddlUrdddlUruulLLddRRULrruuullDDRdrUldddrUluurrrrddlLLrrruullDullluurrDullddrUddRddlUlllluuRDuRRDLruurrDDLddrUluUrrrrddlLLdlUrrrruullDullllddRRULrRuuuuUluUlllddrRDRlDDDRdrUldddrUlddddlllluuUURRRUUrrrrrddlLULLurRddrdddldLLuuurUdRlldddrruUdrrdrrrruuluulLLLDLrurrdLDuuuurDldlLuRlulldDllllddddrrRRuuUU
  建议大家完全熟悉关卡结构后再看答案,对关卡的理解才深刻。
  谢谢阅读!

  2021.5.27
已有 1 人评分经验 收起 理由
anian + 15 很给力!

总评分: 经验 + 15   查看全部评分

cjcjc 发表于 2021-5-28 17:58:49
本帖最后由 cjcjc 于 2021-5-28 18:12 编辑

比赛结束了,看到03兄对关卡的解析,过来学习一下。主关我的分析过程是:M11想要推出去,一定至少要一个奇半位,右下有两个偶半位,J2M2K3L3不推死有一个奇半位但是没法直接用,推死了全场只剩偶半位无法过关,那我的思路是把右下的偶半位挪到上面解放上面的奇半位。一开始我也试着用L19O15S19三个箱子来填N19O19P19三个点结果在图2绿色圆圈的地方不过去,后来意外发现了L19箱子来填O19的方法然后就过关了。现在看到03兄预想的推法感觉还是出乎我预料的,可能是我对死锁还不够敏感,有一些位置不敢推。副关的变化更多一些,我解关的时候就感觉到这个零空位腾挪了,还好不算很复杂,第二部分半位转移和主关的半位转移很相似,难度不算太大,最后的难点就是快结束时的一段腾挪,在逆推拉开H10遇到了一段半个空位的腾挪,其他部分的腾挪不太复杂。总之,两关难度都非常高,感谢03兄的精彩关卡和详细的分析。
cjcjc 发表于 2021-5-28 18:06:18
两关都钻了漏洞,有点侥幸
20603 发表于 2021-5-28 20:42:05
cjcjc 发表于 2021-5-28 18:06
两关都钻了漏洞,有点侥幸

不算钻漏洞,比如主关右下偶半位穿越绿色圆圈的设计,是我功力不够,没看到你的这种走法,否则我一定会屏蔽这一方法的,比如把U15木箱放到R15的位置。不过,这一部分增加的陷阱和腾挪难度,应该难不到你多长时间。

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

GMT+8, 2024-4-18 16:27

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部