310828: CF1895D. XOR Construction

Memory Limit:512 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

D. XOR Constructiontime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard output

You are given $n-1$ integers $a_1, a_2, \dots, a_{n-1}$.

Your task is to construct an array $b_1, b_2, \dots, b_n$ such that:

  • every integer from $0$ to $n-1$ appears in $b$ exactly once;
  • for every $i$ from $1$ to $n-1$, $b_i \oplus b_{i+1} = a_i$ (where $\oplus$ denotes the bitwise XOR operator).
Input

The first line contains one integer $n$ ($2 \le n \le 2 \cdot 10^5$).

The second line contains $n-1$ integers $a_1, a_2, \dots, a_{n-1}$ ($0 \le a_i \le 2n$).

Additional constraint on the input: it's always possible to construct at least one valid array $b$ from the given sequence $a$.

Output

Print $n$ integers $b_1, b_2, \dots, b_n$. If there are multiple such arrays, you may print any of them.

ExamplesInput
4
2 1 2
Output
0 2 3 1 
Input
6
1 6 1 4 1
Output
2 3 5 4 0 1 

Output

题目大意:
给定n-1个整数a_1, a_2, ..., a_{n-1},你的任务是构造一个数组b_1, b_2, ..., b_n,使得:
- 数组b中包含从0到n-1的每个整数,每个整数恰好出现一次;
- 对于每个i(从1到n-1),满足b_i XOR b_{i+1} = a_i(其中XOR表示按位异或运算)。

输入数据格式:
- 第一行包含一个整数n(2 ≤ n ≤ 2 * 10^5);
- 第二行包含n-1个整数a_1, a_2, ..., a_{n-1}(0 ≤ a_i ≤ 2n);
- 输入数据保证至少可以构造出一个有效的数组b。

输出数据格式:
- 输出n个整数b_1, b_2, ..., b_n。如果有多个这样的数组,你可以输出其中任何一个。

示例:
输入:
4
2 1 2
输出:
0 2 3 1

输入:
6
1 6 1 4 1
输出:
2 3 5 4 0 1题目大意: 给定n-1个整数a_1, a_2, ..., a_{n-1},你的任务是构造一个数组b_1, b_2, ..., b_n,使得: - 数组b中包含从0到n-1的每个整数,每个整数恰好出现一次; - 对于每个i(从1到n-1),满足b_i XOR b_{i+1} = a_i(其中XOR表示按位异或运算)。 输入数据格式: - 第一行包含一个整数n(2 ≤ n ≤ 2 * 10^5); - 第二行包含n-1个整数a_1, a_2, ..., a_{n-1}(0 ≤ a_i ≤ 2n); - 输入数据保证至少可以构造出一个有效的数组b。 输出数据格式: - 输出n个整数b_1, b_2, ..., b_n。如果有多个这样的数组,你可以输出其中任何一个。 示例: 输入: 4 2 1 2 输出: 0 2 3 1 输入: 6 1 6 1 4 1 输出: 2 3 5 4 0 1

加入题单

上一题 下一题 算法标签: