#P12684. 【MX-J15-T4】叉叉学习魔法

    ID: 14198 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>O2优化广度优先搜索 BFS最短路梦熊比赛

【MX-J15-T4】叉叉学习魔法

题目背景

原题链接:https://oier.team/problems/J15D


小 X 和小 W 走散了。

题目描述

在一个 n×mn \times m 的地图上,有的位置是空地 .,有的位置是墙 #。小 X 和小 W 分别站在一个空地上,他们走散了,小 X 想去找到小 W。在整个过程中,小 X 都不能走出地图。

定义 (i,j)(i,j) 表示第 ii 行第 jj 列。小 X 每次可以从空地 (i,j)(i,j) 走一步到空地 (i1,j)(i-1,j)(i+1,j)(i+1,j)(i,j1)(i,j-1)(i,j+1)(i,j+1) 上。

小 X 可以使用若干次魔法。每次使用魔法,小 X 可以从空地 (i,j)(i,j) 不增加步数地移动到空地 (i1,j1)(i-1,j-1)(i1,j+1)(i-1,j+1)(i+1,j1)(i+1,j-1)(i+1,j+1)(i+1,j+1) 上。

小 X 想知道,他至少要使用多少次魔法,可以走最少的步数找到小 W。如果小 X 无法找到小 W,请告诉小 X。

输入格式

第一行两个整数 n,mn,m

接下来 nn 行,每行 mm 个字符,表示地图。其中字符 XW 分别表示小 X 和小 W 初始站在的空地。

输出格式

一行两个整数,分别表示小 X 走的最少的步数和至少使用魔法的次数。如果小 X 无法找到小 W,输出 -1 -1

3 3
X#.
#.#
.#W
0 2
3 3
X#.
###
.#W
-1 -1
3 3
X..
##.
##W
2 1

提示

【样例解释 #1】

X(1,1)X(1,1) 使用一次魔法移动到 (2,2)(2,2),再使用一次魔法移动到 W(3,3)W(3,3)

【数据范围】

对于 100%100\% 的数据,2n,m50002 \le n,m \le 5000,地图中仅出现 .#XW 四种字符,其中 XW 有且仅有一个。

测试点编号 n,mn,m \le 特殊性质
11 22
272\sim 7 1010
8118 \sim 11 10001000
121512\sim 15 50005000 没有 #
162016\sim 20