题目名称 | 1513. [UVa 10572] 黑和白 |
---|---|
输入输出 | blackandwhite.in/out |
难度等级 | ★★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | cstdio 于2014-01-30加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:5, 提交:7, 通过率:71.43% | ||||
dydxh | 100 | 0.053 s | 5.12 MiB | C++ |
cstdio | 100 | 0.125 s | 0.32 MiB | C++ |
mikumikumi | 100 | 0.163 s | 0.32 MiB | C++ |
FoolMike | 100 | 0.280 s | 0.31 MiB | C++ |
flyfree | 100 | 1.260 s | 164.57 MiB | C++ |
flyfree | 0 | 1.268 s | 164.58 MiB | C++ |
flyfree | 0 | 3.023 s | 164.38 MiB | C++ |
关于 黑和白 的近10条评论(全部评论) | ||||
---|---|---|---|---|
有没有uva的原数据
| ||||
垃圾Mike写了一天……真是……垃圾一只……
| ||||
还是bfs快..
dydxh
2016-05-27 09:19
3楼
| ||||
犯了一个制仗的错误,改了两个小时,真是23333
| ||||
原题要求任意输出一组解(还有多组数据),懒得弄了,因为懒得搞评测插件(还得写个floodfill)
|
给出一个M行N列的网格,其中部分格子被染色。你将要计算在下面所述的约束下,填满网格剩余部分的方法总数:
网格中的每一个格子都应染成黑白二色之一。网格中所有的黑色格子应当四连通,所有的白色格子也应该四连通。在下面的两张图片中,只有右图是合法的。
另外,不能有全黑或全白的2*2子网格。在下面的两张图中,左边的图片中有2*2的全黑和全白网格,因此不合法,而由图中没有2*2的同色网格,因此是合法的。
不能改变已被染色格子的颜色。所有的格子都必须被染色。
输入文件的第一行有2个正整数M,N,代表行数和列数
接下来的M行,每行有N个字符,它们代表了开始时M*N网格的状态。这些字符可能是如下三种:
#:一个被染成黑色的格子。
o:一个被染成白色的格子。
.:一个没有染色的格子。
输出一行一个正整数,即染色方案总数。
sample 1:
3 3
o..
.##
...
sample 2:
5 5
..#..
.....
....o
o....
.#...
sample 3:
7 5
.....
..o..
#....
.....
..o..
...#.
o....
sample 4:
2 3
###
oo#
sample 5:
6 8
........
........
........
........
.#......
........
sample 1:
4
sample 2:
0
sample 3:
176
sample 4:
1
sample 5:
71582
对于20%的数据,2<=M,N<=4
对于100%的数据,2<=M,N<=8
Problemsetter: Jimmy Mårdell, Member of Elite Problemsetters' Panel
刘汝佳,《算法竞赛入门经典训练指南》,P387 例题3