#G0036. 搜救【2025模拟测试(2) T3】

搜救【2025模拟测试(2) T3】

题目描述

BobBob 到南极考察,遇到恶劣天气,通讯设备坏掉了,只能通过一个古老 BPBP 机发出'0/1/2/3' 44 个不同的信号。

可以将 BobBob 所处的环境看作是一个 nnmm 列由 '.' 和 '#' 构成的矩阵,'.' 表示陆地可以通行,'#' 表示浮冰区,不能通行。由于 BobBob 自己不清楚自己所在的坐标,给搜救带来了很大的困难。

在通讯设备坏掉前,BobBob 给搜救人员通话,告诉搜救人员,他将一边移动一边用 BPBP 机发送他移动方向的信息,如果他处在的位置为 (x,y)(x,y) (坐标位置 (x,y)(x,y) 表示从上往下数第 xx 行,从左往右数第 yy 列。):

  1. 如果他向 (x1,y)(x-1,y) 坐标移动,他将发送 '0' 信号;
  2. 如果他向 (x,y+1)(x,y+1) 坐标移动,他将发送 '1' 信号;
  3. 如果他向 (x+1,y)(x+1,y) 坐标移动,他将发送 '2' 信号;
  4. 如果他向 (x,y1)(x,y-1) 坐标移动,他将发送 '3' 信号。

通过地图搜救人员已经知道 BobBob 所在区域的情况(即 nnmm 列由 '.' 和 '#' 构成的矩阵),通过 BPBP 机搜救人员知道他的移动方向,当然 '#' 位置是浮冰区域,BobBob 肯定不会走,地图之外的区域都是茫茫大海,BobBob 也不会走。

BPBP 机比较老旧了,只能发送一段长度为 LL 的信息。

搜救人员想知道 BobBob 最初可能所在坐标,如果有多种可能,请先输出行号小的,如果行号相同,请输出列号小的。

如果没有符合条件的坐标位置,请输出 '-1' ,表示失败。

输入格式

第一行,3 个整数 nn mm LL

接下 nn 行,mm 列 ,表示 BobBob 所处区域环境信息。

接下一行长度为 LL 由 '0/1/2/3' 构成的字符串。

输出格式

若干行,依次输出 BobBob 最开始可能停留的位置。

如果不存在,输出 -1

6 7 5
#######
#...#.#
##...##
#.#...#
#...#.#
#######
30321
3 5
4 6

样例1解释

更具指令, Bob 的移动路线可以是:

$(3, 5) \rightarrow (3, 4) \rightarrow (2, 4) \rightarrow (2, 3) \rightarrow (3, 3) \rightarrow (3, 4)$

$(4, 6) \rightarrow (4, 5) \rightarrow (3, 5) \rightarrow (3, 4) \rightarrow (4, 4) \rightarrow (4, 5)$

最初停留的位置可能是: (3,5) 和 (4,6)

5 6 5
######
#..#..
#.#.#.
.#..#.
######
01230
-1

数据规模与约定

subtask1subtask1: 3n,m50,1L503 \leq n,m \leq 50,1 \leq L \leq 50 , 3030

subtask2subtask2: 3n,m500,1L500 3 \leq n,m \leq 500, 1 \leq L \leq 500, 7070