CF589J.Cleaner Robot

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

题目翻译

马莎最近买了一个清洁机器人,它可以在没有任何人帮助的情况下清洁地板。

从示意图上看,马莎的房间是一个矩形,由 $ w \times h $ 个大小为 $ 1 \times 1 $ 的正方形单元格组成。房间的每个单元格要么是空的(用字符 '.' 表示),要么被家具占据(用字符 '*' 表示)。

清洁机器人完全占据一个空闲的单元格。此外,机器人还有一个当前的方向(四种选择之一),我们可以说它朝这个方向看。

机器人在房间内移动和清洁地板的算法如下:

  1. 清洁清洁机器人所在的当前单元格;
  2. 如果机器人所看方向的相邻单元格存在且为空,则移动到该单元格并转到步骤1;
  3. 否则,顺时针转动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测评打分。不知道怎么写?

首页