当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

5244:inverse

题目描述
Mike has got a huge array $b$, and he is told that the array is encrypted.

The array is encrypted as follows.

Let $a_i(0 \leq i < n)$ be the $i$-th number of this original array.

Let $b_i(0 \leq i < n)$ be the $i$-th number of this encrypted array.

Let $n$ be a power of $2$, which means $n = 2^k$.

The $b_i$ is calculated as following.

$$b_i = \sum_{0 \leq j < n} f((i \texttt{ or } j) \texttt{ xor } i) a_j$$

$f(x)$ means, if the number of $1$ in the binary of $x$ is even, it will return $1$, otherwise $0$.

Mike want to inverse the procedure of encryption.

Please help him recover the array $a$ with the array $b$.
输入解释
The first line contains an integer $T$($T \le 5$), denoting the number of the test cases.

For each test case, the first line contains an integer $k$($0 \leq k \leq 20$),
The next line contains $n = 2^k$ integers, which are $b_i$ respectively.

It is guaranteed that, $a_i$ is an integer and $0 \leq a_i \leq 10^9$.
输出解释
For each test case, output ''Case #t:'' to represent this is the t-th case. And then output the array $a$.
输入样例
2
0
233
2
5 3 4 10
输出样例
Case #1: 233
Case #2: 1 2 3 4
来自杭电HDUOJ的附加信息
Recommend

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-5244

最后修改于 2020-10-25T23:21:00+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
8000/4000MS(Java/Others) 32768/32768K(Java/Others)