#HX1261L. 冰壶

提交0 通过0
通过率0%
时间限制1000ms
内存限制128MiB
    ID: 10153 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 普及+/提高- 上传者: 标签>编程题C++CSPCSP复赛CSP复赛专项练习暑假CSP复赛集训暑假集训1261-广搜+图搜暑假集训1268-T3T4满分强化

题目描述

题目描述

一个冰壶场地可以表示为 nnmm 列的字符网格。字符“#”表示墙壁,字符“.”表示冰面。网格最外层全部是墙壁,冰壶初始位于第 22 行第 22 列。

每次操作时,可以选择上、下、左、右中的一个方向推出冰壶。冰壶会沿这个方向一直滑行,直到即将撞上墙壁,并停在墙壁前的最后一个冰面格子。冰壶停下后,可以重新选择方向继续滑行。

冰壶在一次滑行过程中经过的所有格子都算作可以到达的格子。请计算从初始位置出发,冰壶可能经过或停留的冰面格子总数。

输入格式

第一行包含两个整数 n,mn,m

接下来 nn 行,每行包含 mm 个字符“#”或“.”,描述冰壶场地。

输入保证网格最外层全部为“#”,并且位置 (2,2)(2,2) 为冰面。

输出格式

输出一个整数,表示冰壶能够经过或停留的不同冰面格子数量,初始位置也计入答案。

样例

输入

6 6
######
#....#
#.#..#
#..#.#
#....#
######

输出

12

数据范围

3n,m2003\le n,m\le 200

7 4
####
#..#
#..#
#..#
#..#
#..#
####
10
6 6
######
#....#
#.#..#
#..#.#
#....#
######
12
4 11
###########
#.....#...#
#.#.##....#
###########
6