若检查点右侧没有地雷,当较短路径撞上最大地雷时,最长跳跃可以越过它。
先设 x∉Mx\notin Mx∈/M 且没有大于 xxx 的地雷。若 MMM 为空则已完成;否则令 m=maxMm=\max Mm=maxM。对较短的长度和 M∖{m}M\setminus\{m\}M∖{m} 应用归纳。若所得路径从不落在 mmm,就在末尾加入 ana_nan。若第 kkk 次跳跃 aka_kak 落在 mmm,就用 ana_nan 替换该跳跃,并把 aka_kak 放到最后。此时的新位置为 m−ak+an>mm-a_k+a_n>mm−ak+an>m,之后的位置也都大于 mmm;终点为 sss。若 x∈Mx\in Mx∈M 且没有大于 xxx 的地雷,同样取 m=xm=xm=x,对 M∖{x}M\setminus\{x\}M∖{x} 应用归纳即可。