C. Creating Keys for StORages Has Become My Main Skill

    传统题 1000ms 256MiB

Creating Keys for StORages Has Become My Main Skill

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给定两个整数 n,xn,x,请构造一个长度为 nn 的数组 aa,作为编号为 (n,x)(n,x) 的储藏室钥匙。

这个数组需要满足:

  • $a_1 \operatorname{or} a_2 \operatorname{or} \cdots \operatorname{or} a_n=x$;
  • 在所有满足上一条的数组中,集合 {a1,a2,,an}\{a_1,a_2,\ldots,a_n\} 的 MEX 尽可能大。

这里 or\operatorname{or} 表示按位或。

MEX(S)\operatorname{MEX}(S) 定义为最小的非负整数 zz,满足 zSz\notin S,并且所有 0y<z0\le y<z 都属于 SS

请对每组数据输出任意一个满足要求的数组。

输入格式

第一行包含一个整数 tt,表示测试用例数量。

接下来 tt 行,每行包含两个整数 n,xn,x,表示数组长度和目标按位或值。

输出格式

对每个测试用例,输出一行 nn 个整数 aia_i,表示你构造出的钥匙数组。

如果存在多种合法答案,输出任意一种即可。

数据范围

  • 1t1041\le t\le 10^4
  • 1n21051\le n\le 2\cdot 10^5
  • 0x<2300\le x<2^{30}
  • 所有测试用例的 nn 之和不超过 21052\cdot 10^5
  • 输出的每个 aia_i 需要满足 0ai<2300\le a_i<2^{30}

输入输出样例

输入

9
1 69
7 7
5 7
7 3
8 7
3 52
9 11
6 15
2 3

输出

69
6 0 3 4 1 2 5
4 1 3 0 2
0 1 2 3 2 1 0
7 0 6 1 5 2 4 3
0 52 0
0 1 8 3 0 9 11 2 10
4 0 3 8 1 2
0 3

样例说明

样例输出只展示了一种可行构造。只要数组整体按位或等于 xx,并且 MEX 已经达到最大值,就会被判为正确。

cf模拟赛 #1

未参加
状态
已结束
规则
IOI(严格)
题目
7
开始于
2026-6-19 9:00
结束于
2026-6-19 11:00
持续时间
2 小时
主持人
参赛人数
3