#arc093b. [arc093_b]Grid Components
[arc093_b]Grid Components
题目描述
给定两个整数 和 。
打印一个网格,其中每个方格都被涂成白色或黑色,并满足以下条件,输出格式如下所示:
- 网格的大小为 ( 个竖直方向, 个水平方向)。 和 均不超过 。
- 涂成白色的方格的集合被划分为恰好 个连通分量。
- 涂成黑色的方格的集合被划分为恰好 个连通分量。
可以证明,在约束条件中指定的条件下,总是存在一种或多种解决方案。如果有多个解决方案,则可以打印任意一个。
注意事项
已涂成白色的两个方格 和 被称为连通当且仅当从方格 只通过移动到相邻方格(上、下、左、右)的方式,可以到达方格 。
当满足以下条件时,以涂成白色的方格的集合 形成一个连通分量:
- 中的任意两个方格是连通的。
- 不属于 的方格的涂成白色的方格与 中的方格不连通。
涂成黑色的方格的连通分量的定义类似。
约束条件
输入
从标准输入读入输入数据。输入格式如下:
输出
输出应满足以下格式:
- 第一行,打印整数 和 ,表示您构建的网格的大小,中间用一个空格分隔。
- 然后,再打印 行。其中第 行 () 包含一个字符串 ,格式如下:
- 如果网格中第 行第 列()的方格被涂成白色,则 的第 个字符应为
.
。 - 如果网格中第 行第 列()的方格被涂成黑色,则 的第 个字符应为
#
。
- 如果网格中第 行第 列()的方格被涂成白色,则 的第 个字符应为
示例输入 1
2 3
示例输出 1
3 3
##.
..#
#.#
此输出对应于以下网格:
示例输入 2
7 8
示例输出 2
3 5
#.#.#
.#.#.
#.#.#
示例输入 3
1 1
示例输出 3
4 2
..
#.
##
##
示例输入 4
3 14
示例输出 4
8 18
..................
..................
....##.......####.
....#.#.....#.....
...#...#....#.....
..#.###.#...#.....
.#.......#..#.....
#.........#..####.