题意
有一个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

博客详细解析了POJ 1222题目,该题涉及5 * 6矩阵中灯泡的状态翻转。通过点击灯泡使其全灭,寻找点击状态矩阵。博客介绍了问题的本质,强调了灯泡点击的顺序和次数,并通过3 * 3矩阵举例,引入高斯消元法解决线性方程组,将加减操作转化为异或运算,最终给出代码实现。

6195

被折叠的 条评论
为什么被折叠?



