CF1842B.Tenzing and Books

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Tenzing and Books

题目描述

Tenzing 收到了他的粉丝们送来的 3n3n 本书。这些书被分成 33 堆,每堆有 nn 本书。每本书都有一个非负整数的难度值。

Tenzing 想要读一些(也可以不读)书。起初,他的知识值为 00

读书的规则如下:Tenzing 每次可以选择一个非空的书堆,读掉堆顶的那本书,然后将其丢弃。如果当前知识值为 uu,读了一本难度值为 vv 的书后,知识值会变为 uvu|v。这里 | 表示按位或运算。Tenzing 可以在任何时候停止读书。

Tenzing 最喜欢的数字是 xx。你能帮他判断是否有可能让他的知识值变成 xx 吗?

输入格式

每组测试数据包含多组测试用例。输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来是每组测试用例的描述。

每组测试用例的第一行包含两个整数 nnxx1n1051 \leq n \leq 10^50x1090 \leq x \leq 10^9),分别表示每堆的书本数量和 Tenzing 最喜欢的数字。

第二行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n0ai1090 \leq a_i \leq 10^9),表示第一堆书从上到下的难度值。

第三行包含 nn 个整数 b1,b2,,bnb_1,b_2,\ldots,b_n0bi1090 \leq b_i \leq 10^9),表示第二堆书从上到下的难度值。

第四行包含 nn 个整数 c1,c2,,cnc_1,c_2,\ldots,c_n0ci1090 \leq c_i \leq 10^9),表示第三堆书从上到下的难度值。

保证所有测试用例中 nn 的总和不超过 10510^5

输出格式

对于每组测试用例,如果 Tenzing 能让自己的知识值变成 xx,输出 "Yes";否则输出 "No"。

你可以用任意大小写输出答案。例如,"yEs"、"yes"、"Yes"、"YES" 都会被识别为正确答案。

说明/提示

对于第一个测试用例,Tenzing 可以依次读以下 44 本书:

  • 读第一堆堆顶难度为 11 的书,知识值变为 01=10|1=1
  • 读第三堆堆顶难度为 11 的书,知识值变为 11=11|1=1
  • 读第一堆下一个难度为 22 的书,知识值变为 12=31|2=3
  • 读第二堆堆顶难度为 55 的书,知识值变为 35=73|5=7

读完这些书后,Tenzing 的知识值为 77

对于第三个测试用例,Tenzing 可以选择一开始就不读任何书,使得最终知识值为 00

由 ChatGPT 4.1 翻译

样例

3
5 7
1 2 3 4 5
5 4 3 2 1
1 3 5 7 9
5 2
3 2 3 4 5
5 4 3 2 1
3 3 5 7 9
3 0
1 2 3
3 2 1
2 2 2
Yes
No
Yes

在线编程 IDE

建议全屏模式获得最佳体验