题目名称 2118. [CodeChef MINESREV] 扫雷反转
输入输出 MINESREV.in/out
难度等级 ★★★
时间限制 5000 ms (5 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarmikumikumi 于2015-12-03加入
开放分组 全部用户
提交状态
分类标签
带花树 CodeChef
分享题解
通过:2, 提交:8, 通过率:25%
GravatarFoolMike 100 0.062 s 3.42 MiB C++
Gravatarmikumikumi 100 0.075 s 0.45 MiB C++
GravatarcallG 20 0.032 s 0.32 MiB C++
GravatarFoolMike 20 0.066 s 3.08 MiB C++
Gravatarhytzongxuan 10 10.542 s 0.32 MiB C++
Gravatarhytzongxuan 10 10.593 s 0.32 MiB C++
GravatarcallG 0 10.004 s 0.32 MiB C++
GravatarcallG 0 10.004 s 0.32 MiB C++
关于 扫雷反转 的近10条评论(全部评论)
记得判断有没有不和空白格子相连的数字......
GravatarFoolMike
2017-02-09 13:57 3楼
回复 @mikumikumi :
把标程贴出来就不怕有人抄么= =
GravatarHzoi_
2016-02-16 20:50 2楼
数据水,没有刻意去卡什么算法。
所以大家尽情的乱搞吧。
Gravatarmikumikumi
2016-02-16 20:11 1楼

2118. [CodeChef MINESREV] 扫雷反转

★★★   输入文件:MINESREV.in   输出文件:MINESREV.out   简单对比
时间限制:5 s   内存限制:256 MiB

【题目描述】


你仿佛在玩易一个熟悉的经典游戏——扫雷。但事实上并不是,这里简单的描述一下这个游戏。

这个游戏有一个R行,C列的矩形网格。一些格子中有地雷,另一些则是空的。最初,所有的格子都是未知的,你需要打开所有的空格子并不打开任何一个含有地雷的格子。

每打开一个空格子,这个格子上就会显示它周围的8个格子有多少个地雷,如果它周围没有地雷,周围的格子都会自动打开。这样你可以一次开多个格子。

正如题目名称,我们这个游戏刚好相反。

我们要把一个网格中的所有格子全部覆盖。

含有地雷的格子点击一次只能覆盖一个,空格子则有可能点击一次覆盖多个。

如果在正常的扫雷中,点开格子S会使原本未知的格子C1和C2打开,那么我们在点击格子C1时,C2也会被覆盖,而这被看做一次点击。

现在我们想知道最少需要几次点击才能把所有的格子全部覆盖。


【输入格式】


一个T,代表有几组测试数据。

每组测试数据第一行是两个整数R,C代表R行C列。

之后的R行,每行有C个字符。'.'代表是空,'*'代表地雷。

1<=T<=50,1<=R,C<=50.


【输出格式】

对于每组数据,输出一个N代表至少需要点击几次。

【样例输入】

2 3 8 **...*.. .....*.. ...***.. 2 1 * *

【样例输出】

9

2

【提示】

在此键入。

【来源】

Codechef MINESREV:https://www.codechef.com/problems/MINESREV