玩switch游戏——马里奥·奥赛德——的发现

    晚上一时兴起,打开久已蒙尘的switch游戏机,玩了会儿马里奥·奥赛德,真正的良心制作:


里面有一个智力关卡:


要求最终摆成下面样子:


上图中,戴帽子的石头是由玩家控制的,可以向上下左右滚动,但不能超过边线,也即只有八个方块可供闪转腾挪。如果石头向右滚动,左边的面会变成向上的面,上面的面会变成向右的面,问如何能把石头摆成对称?


解决此类脑筋急转弯类问题,一般都是有固定套路的:找出最最基本的条件,组合这些条件,就能得到答案。这个智力小游戏也是这样。

关键问题是,这个游戏的基本条件是什么?

先随便试试:


各种旋转之下,似乎就是跟平常的色子差不多,6个面的正方体。在最后一步之前不能旋转到目标位置上,有些像“华容道”。

———————————————————— 正经的分割线 ————————————————————

下面开始分析问题:

一开始看到这个游戏时,可能有些人第一反应是“找规律”,按一定规律进行旋转,便可以在最后转到目标方格内。但稍微想一下会发现,这个规律要求我们的大脑有强大的空间立体记忆能力,要分清6x4=24种情况(和色子一样,第一个面有6种可能,第二个面只有相邻的4种可能,剩下的面就能确定了),再分析每种情况的后续情况,对于人类平均记忆常数7来说,有些吃力了,所以找规律似乎并不是个明智的选择(如果您是天才,当我没说)。

找规律有些行不通了,那就从最基本的条件出发吧。首先,我们会看到,石块的起始状态和最终状态是一样的,那我们可以想一下,有哪些情况下,能使石块的初态和终态一致:

1. 沿着一个方向连续转动4次,石块将和初始状态一致,看图中情况,起始位置和终点位置没在一条直线上,所以这种情况不可能。

2. 右1下1右1下1右1下1(下右、右上、上右、左上、上左、左下、下左都可以),这种曲线转动,连续3次右下,也可以达到初始状态。

第2种情况因为是曲线,显然更符合目前情况,似乎是一条可行方案。但我们很快注意到:游戏中只有两排方格,也就是说,或上或下,是不能达到第3次的,这个矛盾只有两种可能:一是这套方案不可行,二是我们还差一点没发现。

按照服务端编程经验可知:3个右下折线返回原状态的情况,肯定是中间过程携带了状态,这个状态要被保持,不然将不能恢复初始状态。现在的问题是,如何保持这个状态?

我们顺着这个思路,右1下1,都是步长为1的旋转,那步长为2的旋转呢,步长为3的呢,步长为4的呢?步长为4首先不用考虑,因为步长为4已经恢复原始状态。步长为3的情况与步长为1的情况对称,所以只是步长为1情况的全反操作。现在只剩下步长为2的可能性了,我们发现,当步长为2时,状态由当前面,转移到了对立面上,同样也没能保持住状态,难道这题无解了吗?

等等,对立面?步长为2时,状态转移到了对立面上?哈哈,这不就解决了吗?由“哲学家进餐问题之对称解法”(别百度了,你找不到的,这个词是我自创的,以后心血来潮了可能会写出来),我马上想到了,状态对称,操作也对称,就可以做到不破坏状态,用在这里就是说,如果状态转移到对立面上后,操作也马上转移到对立操作上。比如说,石块向右旋转了两格,可以想像成划出了一道水平的镜面,此后上变为下,下变为上,这样,游戏中4x2的方格足矣!

图中限制很明显,最后一步只能是向上,所以,上左、上右、下左、下右这四个以左或右结束的,第一时间排除。

再由图中石块的位置,我们很容易推断出:3次下(或上)操作经对称处理后,只可能是1下2上。再结合我们对称必须做两次(不然最终状态是对称态),最后发现,符合条件的只有“右上”和“左上”,一开始把向上的状态对称为下,再把下对称为上,这样可以保持向上到终点。

下面,我们先给格子编号,方便解说:

11121314
21222324

首先,我们可以先尝试一下“右上”方式:①【11】右1到【12】,此时要做翻转,【12】右2到【14】,【14】下1到【24】,②【24】右1到【21】,再翻转,【21】右2到【23】,【23】上1到【13】,③【13】右1到【14】,【14】上1到【…】。好尴尬,无处可上,看来“右上”不行了。

好吧,我们再试一下“左上”方式:①【11】左1到【14】,翻转,【14】左2到【12】,【12】下1到【22】,②【22】左1到【21】,翻转,【21】右2到【23】,【23】上1到【13】,③【13】左1到【12】,【12】上1到【终点】。哦吼,成功了不是?

注:【11】左1到【14】这种,实际操作是【11】右3到【14】,左1是方便说法。



最后大家发现,这个游戏只要6步:

解法一:①【11】右1【12】,【12】下1到【22】,②【22】右1到【23】,【23】上1到【13】,③【13】左1到【12】,【12】上1到【终点】


都到这个份上了,“右上”真的不行吗?其实也是可以的,只是复杂些,我们发现,“右上”只差最后一步了,所以我们可以用状态平移做到:

解法二:①【11】“右3上3”到【14】,②【14】“右3下3”到【23】,③【23】“上3右3”到【12】,④【12】上1到【终点】。

所以,聪明的读者已经发现“套路”的存在了:状态平移。我们通过3个折弯,将状态平移到了我们希望的方格内。

总结起来便是:利用状态对称还原,将一道智力题转化成了套路。

发现了吗?

解法三:初始状态下,【11】下1到【21】,将【21】“左3上3”到【12】,【12】上1到【终点】,也只需12步。

所以可以看出,这个游戏解法多种多样,同样存在解法四、解法五、解法六……



城市套路深,我要回农村。农村路也滑,人心更复杂。






———————————————————— 正文分割线 ————————————————————

以为以上就是所有了吗?Too young...以下才是正文:


经这个游戏,我们可以看出,这个智力游戏的解法中,我们用到的有:基本条件、已有经验、组合,最后得出固定套路。

谨以此文,诚望大家:注重基础,积累经验,总结套路,善用组合。

现在IT界充斥着各种高大尚的技术:大数据、人工智能、区块链、云计算,等等。似乎不做这些枉为IT人,不懂这些便土的掉渣。我承认这些新技术确实有过人之处,但也希望大家能看到这些技术,也不是大的突破,更多是对已有技术的创新组合。九层之台,起于垒土,皮之不存,毛将焉附?而多数IT人,并未强大到举重若轻,万物不絮于怀的境界,所以在此真诚劝诫诸位,重视基本功,少说多做积累经验,不对技术有偏见,面向组合编程。

诚然,像小生这样,其才不扬的智商平庸之辈,在社会上还是很多的,我们羡慕天才智商,我们惊叹奇思妙想,我们自愧才薄智浅。那为何不稳扎稳打,步步为营呢?我们可以找到适合自己的方法,形成自己的套路,进而能更深层次的认知自我,提升自我,岂不美哉?






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值