点灯游戏:点一下鼠标,十字范围内的灯会明暗变换,最后都变亮或者熄灭。曾经公司有朋友在玩,我提议用编程解答该问题,第一个解答是穷举法,现在这个更快速一些,最后的答案竟然是有些初始值没有答案!
#include
<
iostream
>
using
namespace
std;

#define
N 5


int
puzz[
32
]
=
...
{
0, -1, -1, -1, -1, -1, -1, 2335592,
-1, -1, 7696412, -1, -1, 5690228, -1, -1,
-1, 3290808, -1, -1, -1, -1, 1152464, -1,
-1, -1,-1, 4671140, 6612428, -1, -1, -1,}
;

void
int2Matrix(
int
value,
int
matrix[N][N])

...
{
for (int i = 0; i < N; i++)

...{
for (int j = 0; j < N; j++)

...{
int shift = i * N + j;
matrix[i][j] = ((value >> shift) & 1);
}
}
}

int
matrix2Int(
int
matrix[N][N])
