#671. robot

robot

题目描述

小可可的学校引进了一台智能清洁机器人,学校将机器人的工作区域划分为一个 n×nn\times n 的方格(左上角单元格坐标为 (0,0)(0,0),右下角单元格坐标为 (n1,n1)(n-1,n-1))。机器人初始位于单元格 (row,col)(\text{row},\text{col})

图片描述

机器人可以接收长度为 mm 的指令字符串 cc,其中每个字符是四种移动指令之一:LL(向左移动)、RR(向右移动)、UU(向上移动)和 DD(向下移动)。当机器人从指令串 cc 的第 ii 条指令开始(0im10\le i\le m-1)执行时,它会依次执行后续指令直到指令串结束或因为下一条指令会导致其移出网格,此时它停止执行。

小可可想知道:对于每个起始位置 ii0im10\le i\le m-1),若机器人从 c[i]c[i] 开始执行,它能够连续执行的指令条数是多少。

输入格式

输入共 33 行:

  • 第一行包含两个正整数 nnmm,分别表示网格的行/列数与指令序列的长度。
  • 第二行包含两个整数 row\text{row}col\text{col},表示机器人初始所在单元格的坐标(0row,coln10\le \text{row},\text{col}\le n-1)。
  • 第三行是长度为 mm 的字符串 cc,由字符 LLRRUUDD 组成,表示指令序列(下标从 00m1m-1)。

输出格式

输出共 mm 行。第 ii 行(0im10\le i\le m-1)是一个整数,表示如果机器人从指令串 cc 的第 ii 条指令开始执行,能够连续执行的指令条数。

样例输入

3 6
0 1
RRDDLU

样例输出

1
5
4
3
1
0

说明

样例 1 解释

图片描述

机器人位于大小为 3×33\times3 的网格中,初始位置 (0,1)(0,1),指令串为 c=RRDDLUc=\text{RRDDLU}(索引 050\ldots5):

起始索引 ii c[i]c[i] 开始能连续执行的指令数 说明
00 11 从第 00RR 执行后,下一条 RR 会使机器人移出网格,故只能执行 11 条。
11 55 从第 11RR 开始可以执行到指令串结束,共 55 条,最终仍在网格内。
22 44 从第 22DD 开始能连续执行 44 条。
33 33 从第 33DD 开始能连续执行 33 条。
44 11 从第 44LL 只能执行 11 条。
55 00 从第 55UU 开始会立即移出网格,故执行 00 条。

数据范围

  • 1n601\le n\le 601m20001\le m\le 2000
  • 0row,coln10\le \text{row},\text{col}\le n-1
  • 字符串 cc 仅包含字符 LLRRUUDD