CF1994G.Minecraft
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
题意翻译
在赢得一场紧张的 Bed Wars 起床战争游戏后, Masha 和 Olya 想放松一下, Masha 给了 Olya 一个长度为 n 的数组 a 和一个数字 s 。现在请帮助Olya找到一个非负整数 x ,使得 $ \displaystyle\sum_{i=1}^{n} a_i \oplus x = s$ ($ \oplus 表示异或运算)。但是这个任务对他们来说似乎太简单了,所以他们决定把数字变大并以长度为 k $的二进制形式表示。
输入格式
每个测试都由多个测试用例组成。第一行包含一个整数 $ t $ ( $ 1 \le t \le 10^4 $ ) 表示测试用例的数量。
每个测试用例的第一行包含两个整数 $ n $ 和 $ k $ ( $ 1 \le n, k, n \cdot k \le 2 \cdot 10^6 $ ) , $ n $ 为数组 $ a $ 的长度,$ k $ 为所有数字二进制形式的长度。
第二行包含一个长度为 $ k $ 并由 $ 0 $ 和 $ 1 $ 组成的字符串,表示数字 $ s $ 的二进制形式,从最高位开始。
接下来 $ n $ 行每行还包含长度为 $ k $ 并由 $ 0 $ 和 $ 1 $ 组成的字符串,表示数字 $ a_i $ 的二进制形式,从最高位开始。
保证所有测试用例的 $ n \cdot k $ 之和不超过 $ 2⋅10^6 $。
输出格式
对于每个测试用例,输出一行长度为 $ k $ 的字符串,该字符串由 $ 0 $ 和 $ 1 $ 组成, 表示任意一个合适的数字 $ x $ ( $ x \ge 0 $ ) 的二进制形式, 从最高位开始。 如果不存在合适的 $ x $ 则输出 $ −1 $ 。
样例解释
在第一个测试用例中, $ s = 11, a = [14, 6, 12, 15] $ , 如果 $ x = 14 $ , 则 $ \displaystyle\sum_{i=1}^{n} a_i \oplus x = (14 \oplus 14) + (6 \oplus 14) + (12 \oplus 14) + (15 \oplus 14) = 0 + 8 + 2 + 1 = 11 = s $ .
在第二个测试用例中, $ s = 41, a = [191, 158] $ , 如果 $ x = 154 $ , 则 $ \displaystyle\sum_{i=1}^{n} a_i \oplus x = (191 \oplus 154) + (158 \oplus 154) = 37 + 4 = 41 = s $ .
输入输出样例
输入#1
4 4 5 01011 01110 00110 01100 01111 2 8 00101001 10111111 10011110 5 4 0101 0010 0000 0000 0010 0011 6 5 00011 10110 11001 01010 11100 10011 10000
输出#1
01110 10011010 0010 -1
输入解题思路,AI测评打分。不知道怎么写?