#aBC171E. [ABC171E] Red Scarf

[ABC171E] Red Scarf

AT_abc171_e [ABC171E] Red Scarf

题目描述

N (偶数)N\ (\textbf{偶数}) 只名叫すぬけくん的猫。每只すぬけくん都有一个编号,分别为 1,2,,N1, 2, \ldots, N

每只すぬけくん脖子上都系着一条红色围巾,围巾上写着这只すぬけくん最喜欢的一个非负整数。

すぬけくん们最近学会了一种叫做整数的 xor(异或)运算。

xor 运算是这样定义的:对于 nn 个非负整数 x1,x2,,xnx_1, x_2, \ldots, x_n,它们的 xor,$x_1~\textrm{xor}~x_2~\textrm{xor}~\ldots~\textrm{xor}~x_n$ 定义如下:

  • $x_1~\textrm{xor}~x_2~\textrm{xor}~\ldots~\textrm{xor}~x_n$ 的二进制表示中,第 2k(k0)2^k (k\geq 0) 位上的数字,如果 x1,x2,,xnx_1, x_2, \ldots, x_n 中在该位上为 11 的数的个数是奇数,则该位为 11,否则为 00

例如,3 xor 5=63~\textrm{xor}~5 = 6。すぬけくん们很想用这个运算,于是他们决定计算一下,去掉自己后,其他所有すぬけくん围巾上数字的 xor。

已知编号为 ii 的すぬけくん计算出的,除自己以外其他すぬけくん围巾上数字的 xor 为 aia_i。请根据这些信息,确定每只すぬけくん围巾上写的整数。

输入格式

输入以如下格式从标准输入读入:

NN a1a_1 a2a_2 \ldots aNa_N

输出格式

请输出一行 NN 个整数,空格分隔。

从左到右第 ii 个整数表示编号为 ii 的すぬけくん围巾上写的整数。

如果有多组满足条件的解,输出任意一组均可。

输入输出样例 #1

输入 #1

4
20 11 9 24

输出 #1

26 5 7 22

说明/提示

限制条件

  • 所有输入均为整数。
  • 2N2000002 \leq N \leq 200000
  • NN偶数\textbf{偶数}
  • 0ai1090 \leq a_i \leq 10^9
  • 存在至少一组围巾上的整数,使得所有条件都成立。

样例解释 1

  • 5 xor 7 xor 22=205~\textrm{xor}~7~\textrm{xor}~22 = 20
  • 26 xor 7 xor 22=1126~\textrm{xor}~7~\textrm{xor}~22 = 11
  • 26 xor 5 xor 22=926~\textrm{xor}~5~\textrm{xor}~22 = 9
  • 26 xor 5 xor 7=2426~\textrm{xor}~5~\textrm{xor}~7 = 24

因此,该输出与给定信息一致。

由 ChatGPT 4.1 翻译