OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题1510--B3Q的异或

1510: B3Q的异或

时间限制: 1 Sec  内存限制: 128 MB
提交: 29  解决: 16
[提交] [状态] [讨论版] [命题人:]

题目描述

前言:
异或运算
参加运算的两个数据,按二进制位进行“异或”运算。
运算规则:0^0=0;  0^1=1;  1^0=1;   1^1=0;
即:参加运算的两个对象,如果两个相应位(值不同),则该位结果为1,否则为0。
eg: 6^3 = (110^011) =(101) = 5
   1 1 0
 ^ 0 1 1
------------
   1 0 1
现在B3Q有一个长度为n数组 arr,请你构造出长度为n+1的数组b
使得b[i]^b[i+1] = arr[i]
题目保证 arr每个值为非负整数,构造出的数组b每个值都为非负整数

输入

第一行输入一个n代表arr数组大小
第二行n个元素代表arr数组的具体值
1=<n<=2e5
0=<arr[i]<=1e9


输出

答案有多个,请输出所有答案中b数组首元素大于0,且b数组首元素最小的一个b数组

样例输入 Copy

3
3 3 4

样例输出 Copy

1 2 1 5

来源/分类