AT_ttpc2019_c XOR Filling

题目描述

给定自然数 $N, X$ 和一个数列 $(a_1, a_2, \ldots, a_N)$,其中部分 $a_i$ 的信息缺失。对于缺失的元素 $a_i$,已知其满足 $0 \leq a_i \leq X$。 你的任务是恢复这个数列,使得: \[ a_1 \text{ XOR } a_2 \text{ XOR } \cdots \text{ XOR } a_N = X \] “异或”(XOR)是一种按位运算,定义如下:两个整数 $A$ 和 $B$ 的每个位上的数进行比较,如果该位上的数只有一个为 $1$,那么结果为 $1$,否则结果为 $0$。 例如,$3 \text{ XOR } 5 = 6$,在二进制表示下为:$011 \text{ XOR } 101 = 110$。

输入格式

输入由标准输入给出,格式如下: > $N$ $X$ $a_1$ $a_2$ $\cdots$ $a_N$

输出格式

输出满足条件的一个数列。如果不存在这样的数列,则输出 `-1`。

说明/提示

- 所有输入均为整数。 - $1 \leq N \leq 5 \times 10^5$ - $0 \leq X \leq 10^9$ - $-1 \leq a_i \leq 10^9$ 若 $a_i = -1$,则表示信息缺失,需要补全。 **本翻译由 AI 自动生成**