luogu#P16013. [ICPC 2021 NAC] AND Permutation

[ICPC 2021 NAC] AND Permutation

题目描述

给定一个由 nn 个互不相同的非负整数构成的序列 a1,a2,,ana_1, a_2, \dots, a_n

对于给定的序列,保证对于任意非负整数 xx,若存在某个 ii 使得 ai & x=xa_i\ \&\ x = x,则必定存在某个 jj 使得 aj=xa_j = x。其中,&\& 表示按位 运算。

请找到一个 a1,a2,,ana_1, a_2, \dots, a_n 的排列 b1,b2,,bnb_1, b_2, \dots, b_n,使得对于所有 ii,有 bi & ai=0b_i\ \&\ a_i = 0。若存在多个解,输出任意一个即可。保证解一定存在。

输入格式

输入的第一行包含一个整数 nn1n<2181 \le n < 2^{18}),表示排列中整数的个数。

接下来的 nn 行中,每行包含一个整数 aia_i0ai<2600 \le a_i < 2^{60}),按 ii 的顺序给出输入序列。所有 aia_i 互不相同。保证对于任意非负整数 xx,若存在某个 ii 使得 ai & x=xa_i\ \&\ x = x,则必定存在某个 jj 使得 aj=xa_j = x

输出格式

输出 nn 行,每行一个整数,按 ii 的顺序依次输出 bib_i

6
0
1
4
5
2
6
4
6
0
2
5
1

提示

翻译由 DeepSeek V3.2 完成