#6909. A.雷射探测(Laser)

A.雷射探测(Laser)

A 雷射探测(Laser)

题目描述

小华用一个矩形装置进行激光实验。装置被划分为 (N\times M) 个格子,每个格子可能是空格、斜镜或墙壁。

小华从左上角的 ((0,0)) 格发射一道向右的激光。激光遇到墙壁就会停止,遇到镜子则会改变方向:

原方向 右斜镜 R(/) 左斜镜 L(\)
上 右 左
右 上 下
下 左 右
左 下 上

请计算激光一共经过多少个格子。**同一个格子即使经过多次,也只计算一次。**墙壁不会被计入。

输入格式

第一行包含两个整数 (N,M),满足 (1\le N,M\le100)。

接下来 (N) 行,每行有 (M) 个字符,表示装置的结构:

字符 含义
. 空格
R 右斜镜 /
L 左斜镜 \
# 墙壁

保证左上角 ((0,0)) 是空格。

输出格式

输出一个整数,表示激光经过的不同格子数。

样例 1

输入:

4 4
..L.
##..
RR.R
..L.

输出:

7

样例 2

输入:

2 8
.L......
#R......

输出:

3

评分说明

测试组 分值 限制
第一组 20 分 只有空格和左斜镜
第二组 没有墙壁
第三组 60 分 无特殊限制

每组包含多笔测试数据,必须答对该组全部数据才能获得该组分数。原文最后一组误写为“第二组”,这里按顺序整理为“第三组”。


测试点编号 数据规模 层级 特殊性质 标准答案 设计目的
1 1×1 弱数据 单个空格子 1 检查最小规模及起点计数
2 起点为墙 # 0 检查起点不可进入时是否直接终止
3 4×6 正常数据 同时包含 L、R 和墙体 9 检查多次反射以及反射后撞墙停止
4 4×4 光线以不同方向两次经过起点 10 检查位置去重;共访问 11 个方向状态,但只有 10 个不同格子
5 100×100 极限数据 镜面构造蛇形路径,覆盖全图 10000 检查数组边界、长递归路径和最大计数