No.2732 Similar Permutations
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 70
作問者 : kusirakusira / テスター : 👑 AngrySadEight FplusFplusF hiro1729 🦠みどりむし
タグ : / 解いたユーザー数 70
作問者 : kusirakusira / テスター : 👑 AngrySadEight FplusFplusF hiro1729 🦠みどりむし
問題文最終更新日: 2024-04-20 14:10:08
問題文
$(1, 2, ..., N)$ の順列の組 $P', P''$であって以下を満たすものがあるか判定し、存在する場合はその組をひとつ出力してください。
- $\bigoplus_{i=1}^{N} \left( P'_i + A_i \right) = \bigoplus_{i=1}^{N} \left( P''_i + A_i \right)$
- $P' \neq P''$
総XOR \(\bigoplus\) とは
\(\bigoplus\) は数列の指定された要素の総XORを示します。
長さ \(N\) の数列 \((A_1, A_2, ..., A_N)\) に対し、\(\bigoplus_{i=1}^{N} A_i\) を \(A_1 \oplus A_2 \cdots \oplus A_N\) と定義します。
XOR \(\oplus\) とは
XOR(排他的論理和)は、2つの要素間で行われる論理演算であり、同じビット位置において異なる場合に1を返し、同じ場合に0を返します。
$a$ と $b$ の排他的論理和を \(a \oplus b\)と表記します。
例えば、\(5 \oplus 3 = 6\) です。これは、\(101 \oplus 011 = 110\) というビットごとの操作によるものです。
入力
$N$ $A_1\ A_2\ \cdots\ A_N$
- 入力はすべて整数である。
- $1 \leqq N \leqq2×10^5$
- $0 \leqq A_i \leqq 2×10^5$
出力
題意を満たす順列の組が存在しない場合、-1
を出力してください。
そうではない場合、1行目に $P'$ を2行目に $P''$ を以下の形式で出力してください。
$P'_1\ P'_2\ \cdots\ P'_N$ $P''_1\ P''_2\ \cdots\ P''_N$
サンプル
サンプル1
入力
3 1 1 2
出力
1 2 3 3 2 1
$(1+1) \oplus (2+1) \oplus (3+2) = (3+1) \oplus (2+1) \oplus (1+2)$ です。
また、
2 1 3 3 2 1などを出力しても正解となります。
サンプル2
入力
2 1 100
出力
-1
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。