逐个尝试所有可能的结果,再判断条件是否成立。

重点关注以下内容:

  • 可能的情况有哪些?
  • 要枚举哪些要素?
  • 枚举的范围和顺序是什么?如何缩减范围和及时排除不符合的结果?

枚举示例

  • OpenJudge - 2811:熄灯问题
    • 思路:按下第2行可以百分之百做到让第1行的灯全部熄灭,同理,按第3行可以熄灭第2行,按第4行可以熄灭第3行,按第5行可以熄灭第4行。
    • 问题出在第5行灯,由于没有第6行,所以第5行不知道该由谁来熄灭。
    • 针对第5行的问题,要从第1行开始着手,我们的目标是要找出第1行的一种状态,使得按上面的操作结束之后第5行正好全部灯是熄灭的状态。
    • 为此应用枚举思想,枚举第一行灯的全部可能的按法,再依次推导出第2行、第3行、第4行、第5行的状态,判断第5行的状态是否为全部熄灭状态。


  • 无标签