生长序列
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Description
非负整数序列a_1,a_2……a_n被称为增长序列,如果对于所有i属于1到n,满足a_i使用2进制表示时对于所有的a_i必须满足a_i&a_{i+1}=a_i,&表示按位与。如果n=1,这个序列也认为是增长的。
例如,以下四个序列正在增长的
1.[2,3,15,175]他的二进制是[10,11,1111,10101111]。
2.[5]他的二进制是[101]。
3.[1,3,7,15]他的二进制是**[1,11,111,1111]。
4.[0,0,0]他的二进制是[0,0,0]。
以下三个序列为非增长序列:
1.[3,4,5]他的二进制是[11,100,101]。
2.[5,4,3]他的二进制是[101,100,11]。
3.[1,2,4,8]他的二进制是[0001,0010,0100,1000]。
考虑两个非负整数序列x_1,x_2……x_n和y_1,y_2……y_n。如果这两个序列序列共生,则序列x_1异或y_1……x_n异或y_n是增长序列,这里的异或是按位异或。现在给你非负整数序列x_1,x_2……x_n请你找到字典序最小的序列y_1,y_2……y_n使其序列共生。
Input Format
第一行包含一个整数t(1<=t<=10^4)。之后跟着t个测试用例。
每个测试用例的第一行包含一个整数n,它是序列x_i的长度。
每个测试用例的第二行包含n个整数,代表的是x_1,x_2……x_n(1<=x_i<=2^30)。
所有测试点n的总和不超过2·10^5。
Output Format
对于每一个测试用例输出n个整数。这是字典序最小的序列y_1,y_2……y_n(1<=y_i<=2^30),使得它与给定的序列y_i共同增长。
5
4
1 3 7 15
4
1 2 4 8
5
1 2 3 4 5
4
11 13 15 1
1
0
0 0 0 0
0 1 3 7
0 1 0 3 2
0 2 0 14
0
Source
基础知识,思维