QOJ.ac

QOJ

时间限制: 5 s 内存限制: 2048 MB 总分: 100 交互

#10412. 我现在在哪里?

统计

我是谁?我在哪?我为什么在这里?这些都是千百年来让哲学家们困扰不已的难题。但当谈到“我在哪?”时,现代智能手机和 GPS 卫星已经让这个问题失去了神秘感。

但如果你手头没有 GPS 怎么办?在 2021 年世界总决赛的一道题目中,即时制图定位公司 (ICPC) 展示了一种通过螺旋运动和观察周围环境来确定当前位置的方法。遗憾的是,他们的方法只能在可以自由移动且没有障碍物的开阔区域使用。如果你需要在一个封闭空间内确定自己的精确位置,该怎么办?现在,是时候找出答案了。

你将获得一张由单位正方形组成的区域地图,每个正方形要么是空地,要么被墙壁占据。起初,你被放置在其中一个空地正方形中,但你不知道具体是哪一个,也不知道你面向哪个方向。任何两个单独的空地都是无法区分的,墙壁也是如此。你可以在区域内走动,每一步都要观察你所面向方向上到下一堵墙的距离。目标是确定你在地图上的精确位置。

交互

输入的第一行包含两个整数 $r$ 和 $c$ ($1 \le r, c \le 100$),指定地图的大小。接下来是 $r$ 行,每行包含 $c$ 个字符。每个字符要么是点(.),表示空地正方形;要么是井号(#),表示被墙壁占据的正方形。

至少有一个正方形是空地。你知道你从地图上的某个空地开始,面向四个基本方向之一,但你的位置和方向在输入中并未给出。地图区域之外的所有正方形都被视为墙壁。

交互随后按轮次进行。在每一轮中,你会获得一行输入,包含一个整数 $d$ ($0 \le d \le 99$),表示你看到前方距离为 $d$ 处有一堵墙。这意味着在你当前位置和当前方向上最近的墙之间,恰好有 $d$ 个空地正方形。然后你应该输出一行,包含以下内容之一:

  • left:向左转 90 度。
  • right:向右转 90 度。
  • step:沿当前方向向前移动一个正方形。
  • yes i j:声称你当前的位置是第 $i$ 行,第 $j$ 列 ($1 \le i \le r, 1 \le j \le c$)。
  • no:声称无论你做什么,都不可能可靠地确定你的位置。

如果你输出 yesno,交互停止,你的程序应该终止。否则,新的一轮交互开始。为了被接受,你的解决方案绝不能走进墙壁,并且最多可以运行 $100\,000$ 轮交互(报告 yesno 的最后一轮也计入此限制)。

样例

样例输入 1

3 3
##.
#..
...
1

样例输出 1

right
1
step
0
left
0
right
0
right
1
yes 2 2

样例输入 2

3 5
##.##
###.#
.#.##
0

样例输出 2

left
0
no

样例输入 3

2 1
#
.
0

样例输出 3

yes 2 1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.