四枚硬币,摆成一个正方形,不知道硬币的正反面,盲翻必胜策略

前言:

在找工作贴中看到一个蛮有意思的智力题,网上没找到答案,自己想了一下,作个记录,思路挺简单,讲起来有些啰嗦,看的时候自己在纸上画一下就很容易理解了。

问题:

四枚硬币,摆成一个正方形,不知道硬币的正反面,然后我可以指定翻若干个硬币,对手可以随机的转动这个正方形。如果某一时刻,所有硬币朝向相同就算我赢了。问有没有必胜策略。

思路:

我们用1表示硬币正面,用0表示硬币反面,四枚硬币不管怎么翻,怎么旋转,都可以归结为以下四大类情况:

第一大类:四个面均一样

1            1

1            1  

四个面都是0,或者都是1,像这种情况,就是胜利的情况,不需要任何操作。     

第二大类:对角线上硬币的面一样

1            0

0            1  

同一对角线的两个硬币面一样,不同对角线上的硬币面相反。不管如何旋转,只需要翻转对角线上两枚硬币即可获胜。

所以本类型的必胜决策为:随便选正方形的一个对角,将两枚硬币翻面。

第三大类:相邻的两枚硬币面一样,另外两枚硬币与前两个面相反

1            1

0            0

对这类情况,翻转一边上的两枚硬币,可能出现两种情况:如果比较理想,翻转的两枚硬币面一样(例如翻转的是下面的 0   0,),则胜出;第二种情况,翻转的两枚硬币面相反(例如翻转的是右侧的 1  0),则转换成了上面描述的第二大类(对角线一样),下一步随便选择对角两枚硬币进行翻转即可获胜。

所以本类型的必胜决策为:

随便选正方形的一边,将两枚硬币翻面,如果没获胜,再随便选正方形的一个对角,将两枚硬币翻面。

第四大类:相邻的三枚硬币面一样,另外一枚硬币面相反

1            1

1            0  

由于硬币的正反面我们不可见,所以无法直接选择那个特殊的硬币进行翻转。采用对角线翻转和相邻两个翻转的策略均无法进行局面转换,翻转后仍然是相邻三枚硬币一样的局面。所以考虑随便选一枚硬币进行翻转,进行一个局势转变。随便选取一枚翻转有一下三种情况:第一种比较理想的话可以直接获胜(例如下表中选择翻转右下角的 0);第二种情况是转变成第二大类(对角线上硬币的面一样),例如选择翻转左上角的1;第三种情况是转变为第三大类(相邻的两枚硬币面一样),例如选择翻转右上角的1或者左下角的1。转变为第二大类和第三大类均有必胜路线。

那么如何判断是转变为第二大类还是第三大类呢?因为第二大类必胜决策只有一步,所以先验证是否为第二大类,如果没有获胜则说明是第三大类,而且如果是第三大类的话,之前验证是否为第二大类采用的必胜决策(随便选正方形的一个对角,将两枚硬币翻面)也不会破坏类型,仍然为第三大类。

所以本类型的必胜决策为:

随机选一枚硬币进行翻面;如果没获胜,再随便选正方形的一个对角,将两枚硬币翻面;如果没获胜,再随便选正方形的一边,将两枚硬币翻面;如果没获胜,再随便选正方形的一个对角,将两枚硬币翻面。

答案(必胜策略):

(1)随便选正方形的一个对角,将两枚硬币翻面               //解决第二大类,如果是第三第四大类,类型均不变

(2)随便选正方形的一边,将两枚硬币反面                       //尝试解决第三大类,如果是第四大类,类型不变

(3)随便选正方形的一个对角,将两枚硬币翻面                //彻底解决第三大类,如果是第四大类,类型不变

(4)随便选一个硬币,翻面                                               //尝试解决第四大类         

(5)随便选正方形的一个对角,将两枚硬币翻面                //尝试解决第二大类 (如果上一步没赢,则变为第二大类或第三大类)

(6)随便选正方形的一边,将两枚硬币反面                       //尝试解决第三大类(如果上一步没赢,则说明为第三大类)

(7)随便选正方形的一个对角,将两枚硬币翻面。             //彻底解决第三大类

完毕!

猜你喜欢

转载自blog.csdn.net/u013313909/article/details/88644526