poj1222专题

poj1222 枚举 和 高斯消元

接触开关问题,最先的方法是枚举。然后接触到了更加高深的高斯消元。 高斯消元的思想:把一个全部熄灭的矩阵经过一系列开关后得到初始的状态。 具体分析可参照 http://blog.csdn.net/shiren_Bod/article/details/5766907 下面附上的代码付注释: #include <iostream>using namespace std;int map[3

[笔记][中国大学mooc][程序设计与算法(二) 算法基础][枚举][局部枚举法] POJ1222 熄灯问题

题目 分析 按照一般的穷举法,一共有30个开关,所以解空间有 2 30 2^{30} 230个可能,需要减少枚举数目: 如果存在某个局部,一旦这个局部的状态被确定,那么剩余其他部分的状态只能是确定的一种,或者不多的n种,那么就只需枚举这个局部的状态即可 对于本题目,第一行开关按下的状态可以决定剩余所有的状态,将解空间大小缩小为 2 5 2^{5} 25 代码 #include <

熄灯问题POJ1222

// 熄灯问题POJ1222#include <iostream>#include <cstring>using namespace std;const int ROW = 5;const int COL = 6;void change(char lamp[], int row, int col) {if (row >= 0 && row < ROW && col >= 0 && col