#aBC364B. [ABC364B] Grid Walk

[ABC364B] Grid Walk

AT_abc364_b [ABC364B] Grid Walk

题目描述

有一个 HHWW 列的网格。网格中从上往下第 ii 行、从左往右第 jj 列的格子记作格子 (i,j)(i,\,j)

Ci,jC_{i,\,j}. 时,格子 (i,j)(i,\,j) 是空格子;为 # 时,则不是空格子。

高桥君现在位于格子 (Si,Sj)(S_i,\,S_j),他会按照 i=1,2,,Xi=1,2,\ldots,|X| 的顺序,依次按照以下规则行动:

  • 如果 XX 的第 ii 个字符为 L,且当前格子的左边有格子且该格子为空,则向左移动一格,否则留在原地。
  • 如果 XX 的第 ii 个字符为 R,且当前格子的右边有格子且该格子为空,则向右移动一格,否则留在原地。
  • 如果 XX 的第 ii 个字符为 U,且当前格子的上方有格子且该格子为空,则向上移动一格,否则留在原地。
  • 如果 XX 的第 ii 个字符为 D,且当前格子的下方有格子且该格子为空,则向下移动一格,否则留在原地。

请输出高桥君完成所有行动后所在的格子 (x,y)(x,\,y),输出 xxyy,用空格分隔。

输入格式

输入按以下格式从标准输入给出。

HH WW SiS_i SjS_j
C1,1C_{1,\,1} C1,2C_{1,\,2} \ldots C1,WC_{1,\,W}
C2,1C_{2,\,1} C2,2C_{2,\,2} \ldots C2,WC_{2,\,W}
\vdots
CH,1C_{H,\,1} CH,2C_{H,\,2} \ldots CH,WC_{H,\,W}
XX

输出格式

请输出高桥君完成所有行动后所在的格子 (x,y)(x,\,y),输出 xxyy,用空格分隔。

输入输出样例 #1

输入 #1

2 3
2 1
.#.
...
ULDRU

输出 #1

2 2

输入输出样例 #2

输入 #2

4 4
4 2
....
.#..
...#
....
DUUUURULRD

输出 #2

2 4

输入输出样例 #3

输入 #3

6 6
1 1
.#####
######
######
######
######
######
RURLDLULLRULRDL

输出 #3

1 1

说明/提示

限制条件

  • 1H,W501 \leq H, W \leq 50
  • 1SiH1 \leq S_i \leq H
  • 1SjW1 \leq S_j \leq W
  • H,W,Si,SjH, W, S_i, S_j 均为整数
  • Ci,jC_{i,\,j} 只会是 .#
  • CSi,Sj=.C_{S_i,\,S_j} = .
  • XX 是由 LRUD 组成的字符串,长度不少于 11 且不超过 5050

样例解释 1

高桥君一开始在格子 (2,1)(2,\,1)。他的行动如下:

  • XX 的第 11 个字符是 U(2,1)(2,\,1) 的上方有格子且为空,因此移动到 (1,1)(1,\,1)
  • XX 的第 22 个字符是 L(1,1)(1,\,1) 的左边没有格子,因此留在 (1,1)(1,\,1)
  • XX 的第 33 个字符是 D(1,1)(1,\,1) 的下方有格子且为空,因此移动到 (2,1)(2,\,1)
  • XX 的第 44 个字符是 R(2,1)(2,\,1) 的右边有格子且为空,因此移动到 (2,2)(2,\,2)
  • XX 的第 55 个字符是 U(2,2)(2,\,2) 的上方有格子但不是空格子,因此留在 (2,2)(2,\,2)

因此,完成所有行动后高桥君在格子 (2,2)(2,\,2)

由 ChatGPT 4.1 翻译