测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70665. 拯救指挥部

编程题 基础

题目描述

指挥部被突来的洪水淹没了,还好指挥部有在某些重要的地方起一些围墙,用 * 号表示,而一个封闭的 *号 区域洪水是进不去的……

现在给出指挥部的围墙建设图,问指挥部没被淹到的重要区域(由 0 表示)有多少。

输入格式

第一行是两个数,xyx,y \le 500)。

第二行及以下是一个由 *0 组成的 x \times y 的图。

输出格式

输出没被水淹没的指挥部的 0 的数量(计算被 * 围住的 0 的个数)。

输入输出样例

输入 #1
4 5
00000
00*00
0*0*0
00*00
输出 #1
1
输入 #2
5 5
*****
*0*0*
**0**
*0*0*
*****
输出 #2
5

说明/提示

## 思路

「拯救指挥部」用广度优先搜索求最少步:队列分层扩展。

## 步骤

1. 读入地图或状态。
2. 起点入队,BFS 扩展未访问邻居。
3. 到达终点时输出步数。