
不知道大家对于这个谜题都是怎么解的?这里我可以为大家分享一个这类谜题的通解!
就以上面这个谜题为例。首先,其可以简化成下面这样:

我们称每个❌或⭕️为一个“顶点”,而许多的“边”按照一定的方式将它们相连。同时,每个顶点都与它自己相连。顶点有两种状态(❌和⭕️),当与一个顶点进行交互时,会改变与它相连的顶点(包括这个顶点本身,因为它也与它自己相连)的状态(❌→⭕️或⭕️→❌)。我们要做的,就是将所有的顶点都变为⭕️。
不难发现,当一个顶点改变状态的次数为奇数时,它最终的状态都与它原来的状态相异,反之则相同(奇变偶不变)。这样,谜题就变成了该如何与每个顶点交互,使得每个❌改变状态的次数都为奇数、每个⭕️改变状态的次数都为偶数。
像图2这样,我们为每个顶点标一个大写字母来表示它。接着,我们假设要与顶点A交互a次、与顶点B交互b次……然后,用假设出的未知数表示出每个顶点改变状态的次数。例如,对于A,每与A、B或D交互一次,都会改变一次A的状态,因此A改变状态的次数即为a+b+d。最后代入谜题的约束条件,即得a+b+d≡1 (mod 2)。对每个顶点都分别列出这样的式子,就可以得到以下的方程组(略去“(mod 2)”):
a+b+d≡1, a+b+e≡1, c+d+g≡1, b+d+e+f+i≡1, e+f+j≡1, c+g+h≡1, d+g+h+i+k≡1, f+i+j≡1, h+k+l≡1, i+k+l≡1, a+c+d+e+h≡0, e+h+i+j+l≡0.
下面给出一组可能的解:
a=0, b=1, c=0, d=0, e=0, f=0, g=1, h=0, i=0, j=1, k=0, l=1.
即只分别与B、G、J和L交互1次即可。到此,谜题得解!
解法来源于@yang_12345 ,顺带在此宣传一下他的GitHub项目ColorPuzzle(反色谜题),仓库链接:网页链接。在里面你可以练习一下刚刚学到的技巧www 话说当初了解到他这个项目的时候我都还没开始打三角符文(目移)

