#2057. 迷宫询问
迷宫询问
说明
给定一个 的迷宫,迷宫中有一个固定位置的出口 ,入口位置未定,同时迷宫中有些地方是空地,可以穿越,有些地方是障碍,必须绕行,每次从迷宫的一个位置,只能走到与它相邻的 个位置中,当然在行走过程中,不能走到迷宫外面去。
现在徐老师有 次询问,每次询问会告诉你一个入口 的位置,你需要计算出每个 走到 的最短距离。
输入格式
第一行三个正整数 ,表示迷宫的大小和询问的次数。
接下来 行,每行 个字符,其中字符'.'
表示该位置为空地,字符'*'
表示该位置为障碍,字符'T'
表示该位置为迷宫的出口,输入数据中只有这三种字符。
接下来 $Q$ 行,每行两个正整数 $(x_i,y_i)$,表示第 $i$ 次询问起点 $S$ 在 $(x_i,y_i)$ 处,如果起点为 `'*'`则输出 -1。
对于 $20\%$ 的数据,$1\leq n, m \leq 20,q=1$。
对于另外 $20\%$ 的数据,$1\leq n, m \leq 20,1\leq q\leq 10$。
对于另外 $20\%$ 的数据,$1\leq n, m \leq 1000,q=1$。
对于另外 $20\%$ 的数据,$1\leq n, m \leq 1000,1\leq q\leq 10$。
对于 $100\%$ 的数据,$1\leq n, m \leq 1000,1\leq q\leq 10^5$。
输出格式
输出共 行,每行一个整数,第 行的输出表示第 次询问中 到 的最短距离,如果不能到达,则输出 。
样例
6 5 3
.*.*.
.*...
..**.
.....
.*..*
....T
1 1
2 3
4 5
9
8
4
相关
在下列比赛中: