ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

AGC034 A - Kenken Race

問題
提出コード
まずは、すぬけ君とふぬけ君がどちらか1人だけの時に、目的地にたどり着くことができるかを調べます。
それぞれ、[A,C],[B,D]の範囲に岩#が2個以上連続して配置されている場合、プレイヤーが移動した結果、Pをプレイヤーとすると、
P##のようになり、この後移動する先がないので、これ以上進めなくなります。
ということで、上の2つの範囲に岩が連続して配置されていないか調べる必要があります。
次に、すぬけ君とふぬけ君が2人ともマス目上に居る場合のことを考えます。
すぬけ君が必ず最初はふぬけ君より左側にいます。
目的地は、すぬけ君が左側にいる場合と、右側にいる場合の2パターン存在しています。

  • 目的地もすぬけ君の方が左側にいる場合
    このパターンでは、すぬけ君とふぬけ君が交差することはないです。ので、先にふぬけ君を目的地まで移動させ、その後にすぬけ君を移動させると、何の不都合もなく移動させることができます。よって、特別追加するべき条件は存在しません。

  • 目的地はすぬけ君の方が右側にいる場合
    すぬけ君は、移動中にふぬけ君を追い抜く必要があります。
    すぬけ君をA、ふぬけ君をBとすると、以下のような操作を経て追い抜くことができます。
    AB.
    .BA
    ということで、追い抜くには、連続する3マスの岩が無いマスが必要になります。
    [B,D]の範囲にしかふぬけ君は行けないので、この範囲のマスを中心として、3マス連続した空きマスが存在すれば、問題の条件を満たすことができます。


ということで、上の1つ、もしくは2つの条件を調べることで、この問題の答えを求めることができます。

感想

どこか見落としがあると落ちてしまうので、丁寧にやらなければなりませんね。一応確認はいつもしているのですが嘘を通すこともあるので…