题目名称 | 2118. [CodeChef MINESREV] 扫雷反转 |
---|---|
输入输出 | MINESREV.in/out |
难度等级 | ★★★ |
时间限制 | 5000 ms (5 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | mikumikumi 于2015-12-03加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:8, 通过率:25% | ||||
FoolMike | 100 | 0.062 s | 3.42 MiB | C++ |
mikumikumi | 100 | 0.075 s | 0.45 MiB | C++ |
callG | 20 | 0.032 s | 0.32 MiB | C++ |
FoolMike | 20 | 0.066 s | 3.08 MiB | C++ |
hytzongxuan | 10 | 10.542 s | 0.32 MiB | C++ |
hytzongxuan | 10 | 10.593 s | 0.32 MiB | C++ |
callG | 0 | 10.004 s | 0.32 MiB | C++ |
callG | 0 | 10.004 s | 0.32 MiB | C++ |
关于 扫雷反转 的近10条评论(全部评论) | ||||
---|---|---|---|---|
记得判断有没有不和空白格子相连的数字......
| ||||
回复 @mikumikumi :
把标程贴出来就不怕有人抄么= = | ||||
数据水,没有刻意去卡什么算法。
所以大家尽情的乱搞吧。 |
你仿佛在玩易一个熟悉的经典游戏——扫雷。但事实上并不是,这里简单的描述一下这个游戏。
这个游戏有一个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