当 $X$ 已经知道且序列 $A$ 元素互不相同是可以轻易地通过返回序列 $B$ 得出答案,考虑如何在题目要求的范围内得出 $X$。
若 $N$ 为奇数,可以通过序列所有元素的异或和得出 $X$。
当 $N$ 为偶数,则基于 $A_i = i$ 修改得出能推出 $X$ 的序列,部分分要求 $\max {A_i} \le 2N$ 的情况可以通过单一元素赋特殊的二进制位可以帮助我们在 use_machine(x) 的返回中定位对应的元素去哪里了并推出 $X$。
然而当元素大小被限制在 $N + 2$ 时可能无法靠赋特殊位,考虑到异或操作无法改变 $\frac{x}{4}$ 的等于与否,考虑构造单一独特的 $\frac{A_i}{4}$ 并保证其他元素的 $\frac{A_i}{4}$ 有其他元素的与之相同。比较简单的是构造 $A_{N - 1 - N \mod 4}$ 改为 $N + 2$。