(備忘録)問題解決のための「アルゴリズム数学」〜 12

問題

atcoder.jp

自分の回答

規則性を考える問題なので実装はそこまで難しくないです。 (むしろその規則性を見つけ出すのが難しい)

下記の2つの条件を満たせばYesとなります。

  • 条件1 |X| + |Y| <= N

  • 条件2 X + Y の偶奇とNの偶奇が一致

これは書籍に記載があったので理解できましたが、単純に自分で解くのは難しかったでしょう・・・

N, X, Y = gets.chomp.split.map(&:to_i)
if (X.abs + Y.abs) <= N && (X + Y) % 2  == N % 2
  puts "Yes"
else
  puts "No"
end