A903 | Cow Navigation--Gold
来源USACO
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Bessie 又一次被困在了 Farmer John 的谷仓的错误一侧,由于她的视力很差,她需要你的帮助来穿过谷仓。
谷仓由一个 $N \times N$ 的方格网格描述($2 \leq N \leq 20$),其中一些格子是空的,另一些则包含无法通过的干草堆。Bessie 从左下角(格子 1,1)开始,想要移动到右上角(格子 $N,N$)。你可以通过告诉她一系列指令来引导她,每条指令可以是“前进”、“向左转 90 度”或“向右转 90 度”。你需要给出最短的指令序列,以引导她到达目的地。如果你指示 Bessie 移动到网格外(即撞到谷仓墙壁)或进入干草堆,她将不会移动,并跳到你序列中的下一条指令。
不幸的是,Bessie 不知道她最初是面朝上(朝向格子 1,2)还是面朝右(朝向格子 2,1)。你需要给出一个最短的指令序列,无论她最初面朝哪个方向,都能引导她到达目标。一旦她到达目标,她将忽略后续的指令。
谷仓由一个 $N \times N$ 的方格网格描述($2 \leq N \leq 20$),其中一些格子是空的,另一些则包含无法通过的干草堆。Bessie 从左下角(格子 1,1)开始,想要移动到右上角(格子 $N,N$)。你可以通过告诉她一系列指令来引导她,每条指令可以是“前进”、“向左转 90 度”或“向右转 90 度”。你需要给出最短的指令序列,以引导她到达目的地。如果你指示 Bessie 移动到网格外(即撞到谷仓墙壁)或进入干草堆,她将不会移动,并跳到你序列中的下一条指令。
不幸的是,Bessie 不知道她最初是面朝上(朝向格子 1,2)还是面朝右(朝向格子 2,1)。你需要给出一个最短的指令序列,无论她最初面朝哪个方向,都能引导她到达目标。一旦她到达目标,她将忽略后续的指令。
输入格式
输入的第一行包含 $N$。
接下来的 $N$ 行每行包含一个长度为 $N$ 的字符串,表示谷仓。最后一行的第一个字符是格子 1,1,第一行的最后一个字符是格子 $N,N$。
每个字符要么是 H 表示干草堆,要么是 E 表示空方格。
保证格子 1,1 和 $N,N$ 是空的,并且保证存在一条从格子 1,1 到格子 $N,N$ 的空方格路径。
接下来的 $N$ 行每行包含一个长度为 $N$ 的字符串,表示谷仓。最后一行的第一个字符是格子 1,1,第一行的最后一个字符是格子 $N,N$。
每个字符要么是 H 表示干草堆,要么是 E 表示空方格。
保证格子 1,1 和 $N,N$ 是空的,并且保证存在一条从格子 1,1 到格子 $N,N$ 的空方格路径。
输出格式
输出一行,表示无论 Bessie 最初面朝哪个方向,都能引导她到达目标的最短指令序列的长度。
输入输出样例
输入 #1
3 EHE EEE EEE
输出 #1
9
In this example, the instructions "Forward, Right, Forward, Forward, Left,
Forward, Left, Forward, Forward" will guide Bessie to the destination
irrespective of her starting orientation.
Forward, Left, Forward, Forward" will guide Bessie to the destination
irrespective of her starting orientation.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted