版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  • OpenJudge - 2811:熄灯问题
    • 思路:按下第2行可以百分之百做到让第1行的灯全部熄灭,同理,按第3行可以熄灭第2行,按第4行可以熄灭第3行,按第5行可以熄灭第4行。
    • 问题出在第5行灯,由于没有第6行,所以第5行不知道该由谁来熄灭。
    • 针对第5行的问题,要从第1行开始着手,我们的目标是要找出第1行的一种状态,使得按上面的操作结束之后第5行正好全部灯是熄灭的状态。
    • 为此应用枚举思想,枚举第一行灯的全部可能的按法,再依次推导出第2行、第3行、第4行、第5行的状态,判断第5行的状态是否为全部熄灭状态。
  • OpenJudge - 2812:恼人的青蛙
    • 思路:只要两个点就可以确定一条路径并计算这条路径的长度,为此可以枚举所有的起点和第二跳的点,然后再判断得到的路径是否合法以及长度是否更大。
    • 枚举的过程应该及时排除不合法的路径,有三种情况要考虑:枚举的过程应该及时排除不合法的路径,有两种情况要考虑:
      1. 由前两跳得到的下一跳的位置在稻田外面,无法构成一条合法的路径(至少3个点才能构成一条合法路径)。
      2. 前两跳的前一跳仍然在稻田里面,说明这条路径的起点选错了,还有比当前起点更适合作为起点的点。
      3. 由于当前的最大路径长度是已知的,在枚举下一个组合时,可以直接先计算一个按当前最优先解得到的路径结束位置是否仍在稻田里面,如果不在,则可以直接pass掉当前的起点组合。