#CF1895D. XOR Construction

    ID: 114 远端评测题 2000ms 512MiB 尝试: 31 已通过: 4 难度: 9 上传者: 标签>bitmasksconstructive algorithmsdata structuresmathtrees

XOR Construction

Description

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).

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$.

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

题面翻译

给定长度为 n1n-1 的数列 aa,构造长度为 nn 的数列 bb 同时满足:

  • bb00n1n-1 的排列。
  • i[1,n1],ai=bibi+1\forall i \in [1,n-1],a_i=b_i⊕b_{i+1},其中 ⊕ 表示异或运算。

2n31052\leq n\leq 3\cdot 10^51ai2n1\leq a_i\leq 2n。保证有解。

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.

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