问题:对于一个5*6的按钮矩阵,每个按钮位置上都有一盏灯,当按下一个按钮时,该按钮及其周围位置(上、下、左、右)的灯都会改变一次对于一个固定的5*6的灯的初始状态,按下哪些按钮,可以使所有灯都熄灭。如下: 思路:按下第一行按钮后,对于第一行仍亮着的灯,由第二行按钮控制,以此类推,第二行按下后,对于第二行仍亮着的灯,由第三行按钮控制,......,第四行仍亮着的灯,由第五行按钮控制,最后判断第五行灯的亮灭状态,若第五行全熄灭,则第一行按钮的方式正确,否则,换一种第一行按下的方式。对于初始矩阵而言,第一行按下的方式有2^6中,需一一枚举。 其中puzzle数组代表灯的亮灭状态,1代表亮,0代表灭; 而press数组则代表按钮是否按下,1代表按下,0代表不按。