U316638 逃离小黑子
题目背景
~~蔡徐坤最近老是被小黑子黑,都塌房了,所以他想逃离小黑子的攻击。~~
题目描述
在一个地图中,一个 `.` 代表可以逃跑的空位置;一个 `#` 代表一个小黑子,一个 `$` 代表蔡徐坤的位置。\
\
现在需要你帮蔡徐坤知道,在一个地图中,蔡徐坤是否可以逃跑(能逃跑输出 `YES`,否则输出 `NO`)。\
\
逃跑规则:
- 1. 如果蔡徐坤被小黑子包围就不能逃跑,如果没有就可以从没有小黑子的缝里逃出去。
- 2. 小黑子的速度比蔡徐坤快,但是视力较差。蔡徐坤从一个区域内逃跑以后小黑子不会继续去追他。“小黑子缝”必须宽 $3$ 个字符(连续的 $3$ 个 `.` 符号),蔡徐坤才能继续前进,否则需要另辟蹊径。例如,假设地图为:
```
#...#
#..#.
.#.$#
```
他就不能逃跑。(“#.$#”只有两个“.”,并且上方的“#..#.”,只宽两个字符,也无法逃跑。)
或者,当地图为
```
#...#
#...#
#..$#
```
时,他也不能逃跑。因为他离小黑子很近,如果初始点位在第三行第三列,才可以逃跑。
- 3. 不能斜着逃跑。
- 4. 他必须走到地图的边缘的位置,地图的边缘“小黑子缝”宽3个字符,才算逃跑成功。
逃跑之后,蔡徐坤需要统计小黑子的个数,知道哪些人在顶风作案,直接报给警察苏珊掉。所以也请你帮他统计小黑子的个数。
输入格式
第一行:输入两个正整数 $n,m$:分别表示地图的长和宽。\
接下来 $n$ 行,每行输入 $m$ 个字符,表示地图。
输出格式
一个整数,间隔一个空格,输出`YES`或`NO`,分别表示小黑子的个数和蔡徐坤是否可以逃跑。
说明/提示
SubTask #0 2023.7
对于 $100\%$ 的数据,$0