解いた問題

4/26/2012

SRM514 Div1 Easy

250

n が奇数の場合は(X + Y)が奇数の場所にしか行けない。
n が偶数の場合はどこへでも行ける。

サンプルの最初2個では、nが2と3。
BFSで行ける場所を出力してみたら気がついた。

近い位置だけBFSで調べた後に(X, Y)から(0, 0)へ山を登ると
X, Yの値の範囲が大きすぎてうまくいかない。



class MagicalGirlLevelOneDivOne {
public:
  string isReachable(vector <int> J, int X, int Y)
  {
    for (int i = 0; i < (int)J.size(); ++i) {
      if (J[i] % 2 == 0) return "YES";
    }
    return (X + Y) % 2 ? "NO" : "YES";
  }
};