1683: Nonogram 生成器
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:43
解决:12
题目描述
Nonogram 是一种逻辑游戏,以猜谜的方式绘画点阵图。在一个网格中,每一行和列都有一组数,玩家需根据它们来填满或留空格子,最后就可以由此得出一幅图画。
如下图,游戏开始之前只有左边和上面的数字,中间的点阵图是玩家得到的结果。每行左边的数字描述了这行里面有多少条独立的线。如第一行左边的“6 4 2”表示第一行有三条线,长度依次为 6、4、2。列上方的数字也类似。
BUCT-ACM 的成员打算做一个自己的 Nonogram 的游戏,第一步就是把网上下载到的小图案转换成 Nonogram 里的数字描述形式。现在就请你完成这步。
输入
第一行两个整数 h w(1 ≤ h, w ≤20),分别表示点阵图的宽度和高度。
以下 h 行,每行 w 个字符,描述了这个点阵图,其中“#”表示黑色的点,“.”表示空白的位置。
输出
一共 h + w 行。
先 h 行,依次描述每行左边的数字,数字之间用空格隔开。
然后 w 行,依次描述每列上方的数字,数字之间用空格隔开。
如果某一行或者列没有任何颜色标记,则需要输出一个空行。
样例输入 复制
16 16
######..####..##
#......#.####..#
#......######..#
#.......###.#..#
#.....#...##...#
#....#.....#...#
#....#....#....#
#...#.....#....#
#...#....#.....#
#...##...#.....#
#..#.##.#......#
#..#...##......#
#..#...#.......#
#..##.#........#
#..###.........#
##.##..#########
样例输出 复制
6 4 2
1 1 4 1
1 6 1
1 3 1 1
1 1 2 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 2 1 1
1 1 2 1 1
1 1 2 1
1 1 1 1
1 2 1 1
1 3 1
2 2 9
16
1 1
1
1 6
1 3 3
1 2 2 1
1 1 1
2 2 1
1 2 2 1
4 2 1
5 2 1
3 2 1
3 1
1
1 1
16