logo AlgoBeat OnlineJudge
登录 注册

#216466. [XJTUPC 2026] Used to be

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

"Who am I...?"

这是一个关于记忆的故事。故事的主角之一,是一个长为 的 01 串。

故事的第一层,是变化。

故事穿行于 个节点间。每经过一个节点,主角都会受到微妙的影响:它可能保持不变,抑或在某一位上发生翻转。这些变化不断累积,最终的串也许和最初判若两人。

故事的第二层,是遗忘。

曾经,剧本上记录着主角最初的状态,以及经过每个节点后的状态。然而,随着岁月的流逝,书页上一些位置的字迹渐渐模糊,化作无法辨认的 ?

故事的第三层,是追寻。

另一群主角------你们,找到了这份尘封的记录。尽管你们可能无法确定唯一的真相,你们仍然希望拼凑出一份可能的原貌,复现你们心中的故事。

"Make her story complete."

"I know... you will not disappoint me."

形式化题意

给定 个长度恰为 的字符串 。字符串 仅包含字符

判断是否存在一种将每一个 分别替换为 的方案,使得相邻两个字符串不同的位置至多有一位。即在替换后,对于任意的 ),第 个字符串 和第 个字符串 满足下面条件的任意一个:

  • 对于任意的 ),有
  • 存在一个 ),使得 且对于任意的 ),有

若存在,请输出一种满足要求的方案。如果存在多种方案,输出任意一种即可。

输入格式

本题包含多组测试用例。输入的第一行,包含一个正整数 ),表示测试用例的数量。

接下来是 组测试用例的描述。

每个测试用例的第一行,包含两个正整数 ),用一个空格分隔,分别表示字符串的数量与字符串的长度。

接下来 行,第 行包含一个长度恰为 的字符串 。保证字符串 仅包含字符

保证所有测试用例中 的总和不超过

输出格式

对于每个测试用例,如果不存在满足要求的方案,输出一行,仅包含一个字符串

否则,输出 行,其中:

  • 第一行包含一个字符串
  • 接下来 行,第 行包含一个长度恰为 的字符串,字符串中仅包含字符 ,表示构造的方案中第 个字符串。

如果存在多种满足要求的方案,输出任意一种即可。

答案对大小写不敏感。例如 都会被视为

样例

样例输入 1

3
2 3
000
010
3 3
010
1?1
010
3 4
00?1
01?1
1?01

样例输出 1

Yes
000
010
No
Yes
0001
0101
1101