足跡-sokuseki-

りかの日進月歩の記録

Codeforces Round 498(Div.3) A Adjacent Replacements

Problem - A - Codeforces

問題概要

長さ  N の数列Aが与えられる。
次の操作を順番に行う。

  • 数列Aに出現する 1を全て 2に置き換える
  • 数列Aに出現する 2を全て 1に置き換える
  • 数列Aに出現する 3を全て 4に置き換える
  • 数列Aに出現する 4を全て 3に置き換える
  • 数列Aに出現する 5を全て 6に置き換える
  • 数列Aに出現する 6を全て 5に置き換える
  • 数列Aに出現する 10^9-1を全て 10^9に置き換える
  • 数列Aに出現する 10^9を全て 10^9-1に置き換える

すべての操作が終わった後の数列Aを答えよ。

解法

 a_i が奇数だった場合,  a_i + 1 になった直後の操作で a_iに戻る。
 a_i が偶数の場合は  a_i -1 になった後は何も変化しない。
よって,  a_i が偶数の場合のみ1を引く。

Submission #40417806 - Codeforces