atcoder#AGC016D. [AGC016D] XOR Replace
[AGC016D] XOR Replace
配点 : 点
問題文
長さ の数列 があります。 ただし、各 は 以上の整数です。
すぬけ君は次の操作を繰り返し行うことができます。
- のすべての要素の XOR を とする。 整数 () をひとつ選び、 を に置き換える。
すぬけ君の目標は、 を数列 に一致させることです。 ただし、各 は 以上の整数です。
目標が達成可能か判定し、達成可能ならば必要な操作回数の最小値を求めてください。
制約
- , は整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
目標が達成可能ならば、必要な操作回数の最小値を出力せよ。
達成不可能ならば、代わりに -1
を出力せよ。
3
0 1 2
3 1 0
2
最初、 のすべての要素の XOR は です。 を選んで に置き換えると、 となります。
次に、 のすべての要素の XOR は です。 を選んで に置き換えると、 となり、 に一致します。
3
0 1 2
0 1 2
0
2
1 1
0 0
-1
4
0 1 2 3
1 0 3 2
5