#ABC232D. [ABC232D] 弱小的小高(Weak Takahashi)

    ID: 2798 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>ABC入门算法闯关组合递推与动态规划

[ABC232D] 弱小的小高(Weak Takahashi)

题目描述

有一个 H×WH×W 的网格,共有 HHWW 列。用 (i,j)(i,j) 表示第 ii 行第 jj 列的格子。每个格子的状态用字符 Ci,jC_{i,j} 表示, Ci,j=C_{i,j} = . 表示 (i,j)( i ,j ) 是空格子,Ci,j=C_{i,j } = # 表示 (i,j)(i,j) 是墙。

小高将在这个网格上行走。当他在 (i,j)(i,j) 时,他可以移动到 (i, j + 1) (i,\ j\ +\ 1) (i + 1, j) (i\ +\ 1,\ j) 。但是,他不能走出网格或进入墙格子。当无法继续移动时,小 CC 将停止。

小高从 (1,1)(1,1) 开始行走,在他停止之前最多可以经过多少个格子?

输入格式

输入按以下格式从标准输入给出:

H H W W

C1, 1  C1, W C_{1,\ 1}\ \ldots\ C_{1,\ W}

\vdots

CH, 1  CH, W C_{H,\ 1}\ \ldots\ C_{H,\ W}

输出格式

输出所求答案。

输入输出样例 #1

输入 #1

3 4
.#..
..#.
..##

输出 #1

4

输入输出样例 #2

输入 #2

1 1
.

输出 #2

1

输入输出样例 #3

输入 #3

5 5
.....
.....
.....
.....
.....

输出 #3

9

说明/提示

样例 1 解释

例如,通过 (1,1)(2,1)(2,2)(3,2)(1,1)→(2,1)→(2,2)→(3,2) 的路径,小高可以经过 44 个格子。

他无法经过 55 个或更多格子,所以应输出 44

数据范围

  • 1  H, W  100 1\ \leq\ H,\ W\ \leq\ 100
  • H, W H,\ W 是整数
  • Ci, j = C_{i,\ j}\ = . または Ci, j = C_{i,\ j}\ = # (1  i  H, 1  j  W) (1\ \leq\ i\ \leq\ H,\ 1\ \leq\ j\ \leq\ W)
  • C1, 1 = C_{1,\ 1}\ = .