F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

inverse

Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 314    Accepted Submission(s): 166


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

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

Output
For each test case, output ''Case #t:'' to represent this is the t-th case. And then output the array $a$.
 

Sample Input
2 0 233 2 5 3 4 10
 

Sample Output
Case #1: 233 Case #2: 1 2 3 4
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-06-26 11:58:21, Gzip enabled