2019年6月23日日曜日

ARC 038 D - 有向グラフと数

ARC 038 D - 有向グラフと数

与えられたゲームと同じルールで、XX点以上なら先手が勝ちXX点未満なら後手が勝つゲームをG(X)G(X)とする。G(X)G(X)の勝敗が判定できれば、二分探索で答えが求まることになり、判定は後退解析で可能である。後退解析についてはdrkenさんの記事がわかりやすかった。

以下、メモ。

  • ゲームG(X)G(X)で勝負がつかない間、先手は常にXX点未満の頂点を踏み、後手は常にXX点以上の頂点を踏むため、偶数回で強制終了するなら後手勝ち、奇数回なら先手勝ちとなる。
  • 後退解析は最初にキューにいれる頂点が重複すると正しく動かないので注意。