AT_abc241_f.[ABC241F] Skate
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个 H 行 W 列的网格状滑冰场。第 i 行第 j 列的格子用 (i,j) 表示。
滑冰场上有 N 个障碍物,第 i 个障碍物位于 (Xi,Yi)。
高桥君每次移动时,可以选择上下左右任意一个方向,并一直滑行,直到撞到障碍物为止。
撞到障碍物时,会停在障碍物前一个格子。滑冰场四周是悬崖,不能进行不会撞到障碍物的移动。
高桥君一开始在 (sx,sy),他希望通过若干次移动,最终停在 (gx,gy)。
到达 (gx,gy) 至少需要多少次移动?如果无法到达,请输出无法到达的信息。
输入格式
输入以如下格式从标准输入读入。
H W N sx sy gx gy X1 Y1 X2 Y2 ⋮ XN YN
输出格式
输出到达 (gx,gy) 至少需要多少次移动。
如果无法到达,则输出 -1。
输入输出样例
输入#1
7 8 7 3 4 5 6 1 4 2 1 2 8 4 5 5 7 6 2 6 6
输出#1
4
输入#2
4 6 2 3 2 3 5 4 5 2 5
输出#2
-1
输入#3
1 10 1 1 5 1 1 1 7
输出#3
-1
说明/提示
限制条件
- 1≤H≤109
- 1≤W≤109
- 1≤N≤105
- 1≤sx,gx≤H
- 1≤sy,gy≤W
- 1≤Xi≤H
- 1≤Yi≤W
- (sx,sy)=(gx,gy)
- (sx,sy)=(Xi,Yi)
- (gx,gy)=(Xi,Yi)
- 若 i=j,则 (Xi,Yi)=(Xj,Yj)
- 所有输入均为整数
样例解释 1

图中,(sx,sy) 用 S 表示,(gx,gy) 用 G 表示。按照 (3,4)→(2,4)→(2,2)→(5,2)→(5,6) 的顺序移动,可以在 4 次移动后到达 (gx,gy)。
样例解释 2

必须停在 (gx,gy)。仅仅经过 (gx,gy) 并不算到达。
样例解释 3

如果选择向左移动,高桥君会经过 (gx,gy) 后掉下悬崖。注意,滑冰场四周是悬崖,不能进行不会撞到障碍物的移动。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?