#P2225. Asteroids!
Asteroids!
题目描述
你身处太空中,想要回家。太空中存在许多小行星,你需要避开它们。
输入
输入包含最多100个测试用例。每个测试用例包含以下部分,且用例之间没有空行分隔:
- 起始行 - 一行字符串 "START N",其中 。
- 切片列表 - 共 个切片,每个切片是一个 的矩阵,表示小行星场的水平切片。矩阵中的每个位置为以下两种值之一:
- 'O'(字母“oh”):表示空区域。
- 'X'(大写):表示存在小行星。
- 起始位置 - 一行 "A B C",表示飞船的起始坐标 。坐标值为用空格分隔的整数。
- 目标位置 - 一行 "D E F",表示目标位置的坐标 。坐标值为用空格分隔的整数。
- 结束行 - 一行 "END"。
坐标系的原点为 ,因此每个坐标分量的取值范围为 到 (包括)。
- 第一个坐标表示列(左列为0)。
- 第二个坐标表示行(顶行为0)。
- 第三个坐标表示切片(第一个切片为0)。
起始位置和目标位置均为空区域。
输出
对于每个测试用例,输出一行:
- 如果存在路径,输出 " ",其中 是从起始位置到目标位置的最少移动步数。
- 如果不存在路径,输出 "NO ROUTE"。
每次移动只能沿六个基本方向之一:上、下、左、右、前、后。即每次移动只能将当前位置向量的一个分量加1或减1。
输入样例
START 1
O
0 0 0
0 0 0
END
START 3
XXX
XXX
XXX
OOO
OOO
OOO
XXX
XXX
XXX
0 0 1
2 2 1
END
START 5
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
OOOOO
0 0 0
4 4 4
END
输出样例
1 0
3 4
NO ROUTE