逐个尝试所有可能的结果,再判断条件是否成立。
重点关注以下内容:
- 可能的情况有哪些?
- 要枚举哪些要素?
- 枚举的范围和顺序是什么?如何缩减范围和及时排除不符合的结果?
枚举示例
- OpenJudge - 2811:熄灯问题
- 思路:按下第2行可以百分之百做到让第1行的灯全部熄灭,同理,按第3行可以熄灭第2行,按第4行可以熄灭第3行,按第5行可以熄灭第4行。
- 问题出在第5行灯,由于没有第6行,所以第5行不知道该由谁来熄灭。
- 针对第5行的问题,要从第1行开始着手,我们的目标是要找出第1行的一种状态,使得按上面的操作结束之后第5行正好全部灯是熄灭的状态。
- 为此应用枚举思想,枚举第一行灯的全部可能的按法,再依次推导出第2行、第3行、第4行、第5行的状态,判断第5行的状态是否为全部熄灭状态。