≦ パンケーキの枚数 ひっくり返した回数を c で表す c = 0(0回)から始める 端から x 枚⽬のパンケーキが 表か裏か調べる x + N - 1 とパンケーキの枚数を⽐べる 端から何枚⽬のパンケーキに 注⽬しているかを x で表す x = 1(端から1枚⽬)から始める x 枚⽬からN枚のパンケーキを ひっくり返して c を +1 する x + N - 1 > パンケーキの枚数 Blank side Happy side x を +1 する c(ひっくり返した回数) を出⼒(回答) すべてのパンケーキを 調べきった まだ調べていない パンケーキがある Nとパンキーキの枚数を⽐べる N ≦ パンケーキの枚数 N > パンケーキの枚数 IMPOSSIBLE と出⼒(回答) Blank side のパンケーキがある Blank side のパンケーキはない ・何回ひっくり返せばすべての パンケーキが Happy side を 向くかを出⼒する ・すべて Happy side にできない ときは IMPOSSIBLE と出⼒する x を含めて N枚返せるコテを 使うので、⼀度に返せるのは x(+ 0)枚⽬、x + 1枚⽬、 x + 2枚⽬、… x + N - 1枚⽬のN枚。 このとき終端にある x + N - 1 が パンケーキの枚数を 超えてはいけない 2ページ前の N=1 のケースと どこが変わっているか ⾒⽐べてみてください このフローは N=1 のときも 動くので、N=1 を代⼊すると 2ページ前と同じ フローになるはず… x 枚⽬以降のパンケーキ =「残りのパンケーキ」