UyHiP September 2015

好久没写blog了,补一发UyHiP September 2015的 题目。
题意:

监狱里有A和B两个人,还有一个监狱长,有一天监狱长拿了一个 88 的棋盘,每个格子上都放着一个硬币,正反随机。

他首先走进关A的屋子里,当着A的面在某个硬币下藏着一张纸条,然后允许A将任意一个位置的硬币翻面。

然后他端着棋盘走到关B的屋子里,让B猜测哪个硬币下有纸条。

如果猜对就将A和B都释放。如果在游戏前,A和B可以讨论策略,请问用什么策略对于任意的情况释放概率最大?

这个问题是一个异或的又一个有意思的应用。

题解:

因为棋盘上有 64 个格子,因此,很显然每一个格子都可以用一个 6 位的二进制数来表示。

假设 V 表示A在翻面前所有正面的硬币的位置对应的二进制的异或值, U 表示纸条的位置。

这时,A可以翻 V xor U 位置的硬币,可以发现,翻过后,此时棋盘上所有的正面硬币位置的异或值应该为 V xor (V xor U)=U ,正好是纸条的位置。

所以B拿到棋盘,只需要将棋盘上所有正面硬币的位置异或一下就可以得到纸条的位置了。

附带官方题解链接。

你可能感兴趣的:(异或,数学,思维,UyHip)