CF589J.Cleaner Robot
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
题目翻译
马莎最近买了一个清洁机器人,它可以在没有任何人帮助的情况下清洁地板。
从示意图上看,马莎的房间是一个矩形,由 $ w \times h $ 个大小为 $ 1 \times 1 $ 的正方形单元格组成。房间的每个单元格要么是空的(用字符 '.' 表示),要么被家具占据(用字符 '*' 表示)。
清洁机器人完全占据一个空闲的单元格。此外,机器人还有一个当前的方向(四种选择之一),我们可以说它朝这个方向看。
机器人在房间内移动和清洁地板的算法如下:
- 清洁清洁机器人所在的当前单元格;
- 如果机器人所看方向的相邻单元格存在且为空,则移动到该单元格并转到步骤1;
- 否则,顺时针转动90度(相对于其当前方向向右),然后转到步骤2。
清洁机器人将遵循此算法,直到马莎将其关闭。
你知道马莎房间里的家具位置、清洁机器人的初始位置和方向。你能计算出如果机器人无限期工作,它将清洁的房间总面积吗?
输入格式
输入的第一行包含两个整数 $ w $ 和 $ h $ $ (1 \leq w, h \leq 10) $,表示马莎房间的大小。
接下来的 $ w $ 行,每行包含 $ h $ 个字符,用于描述房间。如果房间的某个单元格是空的,则对应的字符为 '.'。如果房间的某个单元格被家具占据,则对应的字符为 '*'。如果某个单元格有机器人,则该单元格是空的,并且输入中对应的字符为 'U'、'R'、'D' 或 'L',其中字母表示清洁机器人的方向。字母 'U' 表示机器人根据房间示意图向上看,字母 'R' 表示它向右看,字母 'D' 表示它向下看,字母 'L' 表示它向左看。
保证在给定的 $ w $ 行中,字母 'U'、'R'、'D' 或 'L' 恰好出现一次。机器人最初所在的单元格是空的(没有任何家具)。
输出格式
在输出的第一行中,打印一个整数,表示如果机器人无限期工作,它将清洁的房间总面积。
输入输出样例
输入#1
2 3 U.. .*.
输出#1
4
输入#2
4 4 R... .**. .**. ....
输出#2
12
输入#3
3 4 ***D ..*. *...
输出#3
6
输入解题思路,AI测评打分。不知道怎么写?