题意
有一个5 * 6的矩阵,每个位置表示灯,1表示灯亮,0表示灯灭。
然后如果选定位置i,j点击,则位置i,j和其上下左右的灯的状态都会反转。
现在要你求出一个5 * 6的矩阵,1表示这个灯被点击过,0表示没有。
要求这个矩阵能够使得原矩阵的灯全灭。
非诚勿扰。
解析
首先,要明确一些问题:
1.这些灯点击的顺序可以是任意的;
2.每只灯只能被点击1次,因为点击2次相当于没点。
然后,以3*3的矩阵为例,假设初始灯泡的布局:
L=⎡⎣⎢010111001⎤⎦⎥
每次点击某灯泡的时候,可以看成是在原矩阵上异或上一个如下的矩阵:
比如点击2,2点:
A(2,2)=⎡⎣⎢010111010⎤⎦⎥
再如点击1,1点:
A(1,1)=⎡⎣⎢110100000