我对之前提出的问题有疑问(Lights out game algorithm)。我不能在那里问,因为它说你需要有50分才能添加评论,这就是我将其作为一个新问题添加的原因。
任何人都可以举例说明here解释的算法吗? 我不想回溯我想要高斯消除法来解决熄灯问题。
例如,我有2 * 2矩阵,它的初始状态如下所示。
1 0
0 1
如何利用高斯消元法解决上述熄灯问题?
任何人都能解释一下这条线在上面给出的链接中做了什么吗?
std::swap_ranges(toggle.row_begin(pivotRow), toggle.row_end(pivotRow),
toggle.row_begin(nextFreeRow));
std::swap(puzzle[pivotRow], puzzle[nextFreeRow]);
我也不明白以下一行
puzzle[row] ^= puzzle[nextFreeRow];
以及如何运行此代码。功能:SolveLightsOut(const Matrix& puzzle);是主要功能吗?