#N7. 探索地阵 (explore)
探索地阵 (explore)
当前没有测试数据。
探索地阵 (explore)
题目描述
小 A 派遣一个机器人在 的丛林地图中探险。 地图为一个 行 列的字符表:
x表示障碍物,不可通过。.表示空地,可以通过。
机器人由当前位置 和朝向 共同决定。 朝向 使用 0~3 的整数表示:
- :向东(即列数增加,对应右侧)
- :向南(即行数增加,对应下方)
- :向西(即列数减小,对应左侧)
- :向北(即行数减小,对应上方)
机器人共进行 次操作,每一步遵循以下逻辑:
- 根据当前朝向 ,计算前方下一步的坐标 。
- 判断 是否在地图范围内(,)且为空地(字符不为
x)。 - 如果条件成立,机器人向前走一步,位置更新为 ,不改变朝向。
- 如果条件不成立,机器人原地向右转(朝向 变为 ),位置不变。
注意:无论前进还是原地右转,都消耗 1 次操作(即算作 次操作中的 1 次)。
请计算出 次操作结束后,机器人一共访问过多少个不同的位置(包含机器人的初始位置)。
输入格式
第一行包含一个正整数 ,表示测试数据组数。
对于每组数据:
第一行包含三个正整数 ,分别表示地图的行数、列数以及操作次数。
第二行包含三个整数 ,表示机器人的初始行坐标、初始列坐标和初始朝向。
接下来 行,每行包含一个长度为 的字符串,表示地图。字符串仅包含 x 和 .。保证初始位置为空地。
输出格式
输出 行,每行一个整数,表示每组数据中机器人经过的不同位置的数量。
数据范围
- 初始位置 保证合法且不在障碍物上。