248灯灭(17)251(18)254(19)

规则和类似,

但是很大的区别在于,这里的规则是,点击每个格子,影响的是这个格子以及这个格子左上、左下、右上、右下4个格子,

而不再是影响上下左右4个格子。

首先,按照国际象棋的二染色方法,25个格子可以分为13个偶格子和12个奇格子

于是问题化解为2个完全独立的问题:

(1)点击每个偶格子若干次,使得所有偶格子复原

(2)点击每个奇格子若干次,使得所有奇格子复原

下面将分开讨论

问题(1)点击每个偶格子若干次,使得所有偶格子复原

首先复原如下图的9个格子,剩下(2,2)(2,4)(4,2)(4,4)4个格子离复原分别差x1,x2,x3,x4步

那么每个格子需要点击的次数为

如果是n=3,既每个格子有3种颜色,那么得到以下mod 3的同余方程组

这个解出乎意料的非常简洁,于是这个问题有个非常简单的策略:

点击(2,2)(2,4)(4,2)(4,4)4个格子若干次使得这4个格子复原

然后点击其他9个偶格子若干次,使得这9个格子复原即可。

问题(2)点击每个奇格子若干次,使得所有奇格子复原

思路和问题(1)差不多,先把12个奇格子分为里面的4个和外面的8个

首先很容易把外面的8个奇格子复原,具体步骤如下:

点击(1,2)(1,4)若干次使得它们复原

点击(3,2)若干次使得(2,1)复原,点击(3,4)若干次使得(2,5)复原

点击(4,1)(4,5)若干次使得它们复原

点击(4,3)若干次使得(5,2)复原

很容易计算出来,此时(5,4)一定已经复原,那么外面的8个奇格子就全部复原了。

假设剩下的(2,3)(3,2)(3,4)(4,3)4个格子离复原分别差x1,x2,x3,x4步

其次很容易计算出来,里面的4个奇格子需要点击的次数是一样的,于是得到下面的同余方程组

于是策略可以总结为:

首先点击(2,3)(3,2)(3,4)(4,3)4个格子各-x1-x2-x3-x4次,再点击(1,2)x4-x3次

然后沿着(2,1)(3,2)(4,1)(5,2)(4,3)(5,4)(4,5)(3,4)(2,5)(1,4)的顺序依次点击每个格子若干次,

使得它的上一个格子复原,(2,1)的上一个格子是(1,2)

按照上面的推导,此时12个奇格子一定已经全部复原

248灯灭(17)

x1=2,x2=x3=x4=1

所以a=1,b=0

251(18)

a=1,b=2

254(19)

a=2,b=2

经验分享 程序员 微信小程序 职场和发展