Logo Universal Online Judge

UOJ

时间限制:6 s 空间限制:1024 MB
统计

Z 在玩扑克牌。

小 Z 把牌两两分成 n 组,第 i 组的两张牌分别写着 $a_i$ 和 $b_i$ 。

小 Z 有一个神秘非负整数 K ,他可以选择至多 K 个 i ,交换 $a_i$, $b_i$ 。

小 Z 想要最大化 A + B ,其中 A 是交换之后所有 ai 的 AND ,B 是交换之后

所有 bi 的 AND 。这里的 AND 是按位与,即 & 。

1.2 Input Format

为了方便操作,所有 ai, bi 都以二进制的形式给出。

第一行一个正整数 T ,表示数据组数。每组数据的输入格式如下:

第一行一个正整数 K 和一个非负整数 K 。

接下来 n 行,每行两个 01 串,表示 ai, bi 。从左到右依次是高位到低位,且除了 0 以外不存在前导零。

1.3 Output Format

对于每组数据,输出一行一个二进制数表示答案,除了 0 以外不允许有前导零。

1.4 Sample 1 Input

3
1 1
1011011 101101
2 0
1011011 0
0 101101
5 2
1101 11011
11101 11111
11011 1111
10111 1001
1011 10101

1.5 Sample 1 Output

10001000
0
11010

1.6 Sample 2,3

见下发文件。

1.7 Constraints

本题采用子任务捆绑测试

设 S 表示一组数据中所有 01 串的长度之和

对于所有数据,保证 ∑ n ≤ 2 × 106, ∑ S ≤ 4 × 106, 0 ≤ K ≤ n

Subtask 1 (20 points) :∑ n ≤ 500 ,01 串的长度不超过 9

Subtask 2 (20 points) :∑ n ≤ 2000, ∑ S ≤ 4000

Subtask 3 (20 points) :K = n

Subtask 4 (40 points) :无特殊限制