# ABC121 D - XOR World (opens new window)
# 概要
- をの排他的論理和(XOR)とする
- を求めよ
# 思考
- 問題を見てな気がする
- 制約を見るとからしい
- 手元で実験する
- 桁ごとで見ていくと良さそう
- 実装する
- 入力例1の時点で詰まる
ここで30分終了, 時間をあけてもう一度書き直す
- 書き直しても入力例1が通らない
さらに1時間経過してもわからないので, 解説を見る
- ではない
- xor
- a xor b = cからc xor b = aが求められる
- 1桁ごとに1がいくつ出るかを求めれば良い
- 1が出た数の偶奇で判定できる
# 他の解法(editorial)
隣り合う数字のxorをとると1になることがわかる。これは実験すればわかる。
例えばn=5の時は
のように求められる。
従って, この性質を用いればで解ける。
# 提出
# 気づいたこと
- 同じ処理が生まれる時は関数化すると綺麗に書ける
- 今回のように関数で書ける場合はまさにそれ
- 上限をギリギリにしなくても良い場合は余裕を持ってやると楽