#HK6965. 「THUPC 2025」三元链
「THUPC 2025」三元链
题目描述
给定正整数 ,请在一个 的网格中将 个方格染成黑色,其余方格染成白色,满足:
-
在水平或竖直方向上不存在连续的三个同色格。具体地:
- 不存在 满足坐标为 的格子均为黑色或均为白色。
- 不存在 满足坐标为 的格子均为黑色或均为白色。
-
每列中有恰好 个黑色格。
-
对于任意 ,任意相邻的两列中从上至下第 个黑色格的行坐标之差不超过 。具体地,记第 列的黑色格的坐标分别为 ,其中 ,那么对于 有 。
给出一种合法的方案,或判定无解。
输入格式
第一行包含一个正整数 ,表示数据组数。
每组数据包含一行两个正整数 ,分别表示网格的大小与每列中黑色格的数量。
保证单个测试点中所有数据 的和不超过 。
输出格式
对于每组测试数据:
- 若不存在合法的染色方案,则仅输出一行一个字符串
No; - 否则,先输出一行一个字符串
Yes,然后接下来 行每行输出一个长度为 ,仅包含字符#与.的字符串,代表你染色方案中从上到下每一行的染色情况,其中字符#代表对应格染为黑色,字符.代表对应格染为白色。如果有多种合法的染色方案,输出任意一种即可。
3
4 2
6 1
9 5
Yes
#..#
.##.
.##.
#..#
No
Yes
.#.#..##.
#.#.##..#
#.##..##.
.#..##.##
#..##.#.#
.##..#.#.
##.##.#.#
#.##.##..
.##.##.##
对于第一组数据,以下为若干不符合条件的示例:

示例 中左下角有连续的三个白色格,示例 中第一列与第四列黑色格数量不正确,示例 中左上角有连续的三个黑色格,示例 中第三、四列的第二个黑色格行坐标之差大于 。
对于第二组数据,容易发现不存在合法的染色方案。
对于第三组数据,下图中不同方位的黑色格用不同颜色标注后易见答案的合法性:

题目使用协议
来自 THUPC2025(2025年清华大学学生程序设计竞赛暨高校邀请赛)。
以下『本仓库』皆指 THUPC2025 官方仓库(https://gitlink.org.cn/thusaa/thupc2025final)
- 任何单位或个人都可以免费使用或转载本仓库的题目;
- 任何单位或个人在使用本仓库题目时,应做到无偿、公开,严禁使用这些题目盈利或给这些题目添加特殊权限;
- 如果条件允许,请在使用本仓库题目时同时提供数据、标程、题解等资源的获取方法;否则,请附上本仓库地址 或 算协公开仓库链接。