#ATarc093b. [ABC092D] Grid Components
[ABC092D] Grid Components
题目描述
给定两个整数 、。
请输出一个满足以下条件的网格(每个格子被涂成白色或黑色),并按照输出格式输出:
- 网格的大小为 行 列, 和 都不超过 。
- 所有白色格子恰好分成 个连通块(关于“连通块”的定义见下方注释)。
- 所有黑色格子恰好分成 个连通块。
在题目给定的限制条件下,保证至少存在一个解。如果有多个解,输出任意一个均可。
输入格式
输入从标准输入读取,格式如下:
输出格式
请按如下格式输出:
- 第 行输出两个整数 和 ,表示构造的网格的大小,用空格分隔。
- 接下来输出 行。第 行()输出一个长度为 的字符串 ,表示网格第 行的涂色情况。
- 如果第 行第 列的格子是白色,则 的第 个字符为
.。 - 如果第 行第 列的格子是黑色,则 的第 个字符为
#。
- 如果第 行第 列的格子是白色,则 的第 个字符为
样例 1
输入
2 3
输出
3 3
##.
..#
#.#
样例 2
输入
7 8
输出
3 5
#.#.#
.#.#.
#.#.#
样例 3
输入
1 1
输出
4 2
..
#.
##
##
样例 4
输入
3 14
输出
8 18
..................
..................
....##.......####.
....#.#.....#.....
...#...#....#.....
..#.###.#...#.....
.#.......#..#.....
#.........#..####.
说明/提示
注释
两个白色格子 、 连通,指的是可以通过只经过白色格子、每次只移动到上下左右相邻的格子,从 走到 。
白色格子的集合 是一个连通块,指的是 满足以下条件:
- 中任意两个格子都是连通的。
- 不属于 的任何白色格子,与 中的任意格子都不连通。
黑色格子的连通块定义同理。
约束条件
样例解释 1
以下输出对应的网格如下所示。

由 ChatGPT 4.1 翻译