#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 |
检查数组边界、长递归路径和最大计数 |