#HK5394. 「ROI 2014 Day 1」鲁滨逊与鳄鱼
「ROI 2014 Day 1」鲁滨逊与鳄鱼
题目描述
译自 ROI 2014 Day1 T2. Робинзон и крокодилы
鲁滨逊住在一个尺寸为 个格子的矩形岛屿上。
岛上爬来了几只鳄鱼,它们晒着太阳睡着了。鲁滨逊想赶走这些不受欢迎的邻居,但又不想弄出太大的动静。为此,他决定用坚果丢向这些熟睡的鳄鱼。
岛上的每个格子最多只有一只鳄鱼。被坚果吓到的鳄鱼会沿着直线快速逃跑,直到到达水边。每只鳄鱼被吓到后逃跑的方向是已知的,且这些方向都与岛屿的边平行。
如果一只被吓到的鳄鱼在逃跑途中撞到另一只鳄鱼,它们会变得愤怒并攻击鲁滨逊。因此,鲁滨逊必须小心选择目标鳄鱼,确保其逃跑路径上只有空荡荡的格子。
鲁滨逊只有在上一只鳄鱼逃到水边后,才会投掷下一个坚果。
你需要编写一个程序,计算鲁滨逊最多能赶走多少只鳄鱼,而不激怒它们。
输入格式
输入文件的第一行包含两个整数 和 ,分别表示岛屿从北到南和从西到东的尺寸。
接下来的 行每行包含 个字符,描述岛上鳄鱼的当前位置。如果某个格子为空,则用点号「.」表示;如果格子内有鳄鱼,则用字母表示该鳄鱼被吓到后逃跑的方向。方向用以下字母表示:
- 「
N」:向北 - 「
S」:向南 - 「
E」:向东 - 「
W」:向西
输出格式
输出文件应包含一个整数,表示鲁滨逊最多能赶走的鳄鱼数量,而不激怒它们。
1 5
WN.SE
4
1 3
E.W
0
3 4
.N.W
WWSS
EWEW
4
在第三个样例中,可以通过特定顺序赶走 只鳄鱼,而不激怒它们。

数据范围与提示
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|