CF1168E Xor Permutations
题目描述
Toad Mikhail 有一个长度为 $2^k$ 的整数数组 $a_1,\dots,a_{2^k}$。
请找到两个 $0,\dots,2^k - 1$ 的排列 $p,q$,使得 $\forall 1 \le i \le 2^k,p_i \oplus q_i = a_i$,或告诉我们无解。
其中 $\oplus$ 表示按位异或运算。
输入格式
第一行,一个整数 $k\;(2 \le k \le 12)$,表示数组的长度为 $2^k$。
第二行,$2^k$ 个整数 $a_1,\dots,a_{2^k}\;(0 \le a_i < 2^k)$,表示给定的数组。
输出格式
如果无解,输出「Fou」。
否则,在第一行输出「Shi」。
接下来两行描述符合条件的两个排列。
其中第一行输出 $2^k$ 个整数 $p_1,\dots,p_{2^k}$,第二行输出 $2^k$ 个整数 $q_1,\dots,q_{2^k}$。
如果有多解,输出任意解。