AT_abc273_d.[ABC273D] LRUD Instructions

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个 HH 行 WW 列的网格。自上而下的第 ii 行,自左而右的第 jj 列的格子记作格子 (i, j)(i,\,j)。
有 NN 个格子 (r1, c1), (r2, c2), …, (rN, cN)(r_1,\,c_1),\ (r_2,\,c_2),\ \ldots,\ (r_N,\,c_N) 是墙。

一开始,高桥君位于格子 (rs, cs)(r_\mathrm{s},\,c_\mathrm{s})。

高桥君会收到 QQ 条指令。对于 i=1,2,…,Qi=1,2,\ldots,Q,第 ii 条指令由一个字符 did_i 和一个正整数 lil_i 组成。did_i 是 L、R、U、D 之一,分别表示左、右、上、下四个方向。

对于第 ii 条指令,高桥君会重复以下操作 lil_i 次:

如果当前位置在 did_i 指定的方向上有一个不是墙的相邻格子,则移动到该格子。若没有这样的格子,则什么也不做。

请你对于 i=1,2,…,Qi=1,2,\ldots,Q,在执行完前 ii 条指令后,高桥君所在的格子 (Ri, Ci)(R_i,\,C_i) 输出在第 ii 行。

输入格式

输入以如下格式从标准输入读入:

HH WW rsr_\mathrm{s} csc_\mathrm{s}
NN
r1r_1 c1c_1
r2r_2 c2c_2
⋮\vdots
rNr_N cNc_N
QQ
d1d_1 l1l_1
d2d_2 l2l_2
⋮\vdots
dQd_Q lQl_Q

输出格式

输出 QQ 行。对于 i=1,2,…,Qi=1,2,\ldots,Q,在执行完前 ii 条指令后,高桥君所在的格子 (Ri, Ci)(R_i,\,C_i) 输出在第 ii 行。

R1R_1 C1C_1
R2R_2 C2C_2
⋮\vdots
RQR_Q CQC_Q

输入输出样例

  • 输入#1

    5 5 4 4
    3
    5 3
    2 2
    1 4
    4
    L 2
    U 3
    L 2
    R 4

    输出#1

    4 2
    3 2
    3 1
    3 5
  • 输入#2

    6 6 6 3
    7
    3 1
    4 3
    2 6
    3 4
    5 5
    1 1
    3 2
    10
    D 3
    U 3
    L 2
    D 2
    U 3
    D 3
    U 3
    R 3
    L 3
    D 1

    输出#2

    6 3
    5 3
    5 1
    6 1
    4 1
    6 1
    4 1
    4 2
    4 1
    5 1

说明/提示

数据范围

  • 2≤H, W≤1092 \leq H,\,W \leq 10^9
  • 1≤rs≤H1 \leq r_\mathrm{s} \leq H
  • 1≤cs≤W1 \leq c_\mathrm{s} \leq W
  • 0≤N≤2×1050 \leq N \leq 2 \times 10^5
  • 1≤ri≤H1 \leq r_i \leq H
  • 1≤ci≤W1 \leq c_i \leq W
  • i≠j⇒(ri, ci)≠(rj, cj)i \neq j \Rightarrow (r_i,\,c_i) \neq (r_j,\,c_j)
  • 对所有 i=1,2,…,Ni=1,2,\ldots,N,(rs, cs)≠(ri, ci)(r_\mathrm{s},\,c_\mathrm{s}) \neq (r_i,\,c_i)
  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • did_i 是 L、R、U、D 之一
  • 1≤li≤1091 \leq l_i \leq 10^9
  • 除 did_i 外,所有输入均为整数

样例解释 1

给定的网格和高桥君的初始位置如下。这里,# 表示墙,T 表示高桥君,. 表示其他格子。

...#.
.#...
.....
...T.
..#..

对于第 11 条指令,高桥君向左移动 22 格,位置变为 (4, 2)(4,\,2):

...#.
.#...
.....
.T...
..#..

对于第 22 条指令,高桥君向上移动 11 格后,因下一个位置是墙,后续 22 次“什么也不做”,最终位置为 (3, 2)(3,\,2):

...#.
.#...
.T...
.....
..#..

对于第 33 条指令,高桥君向左移动 11 格后,因下一个位置不存在,后续 11 次“什么也不做”,最终位置为 (3, 1)(3,\,1):

...#.
.#...
T....
.....
..#..

对于第 44 条指令,高桥君向右移动 44 格,最终位置为 (3, 5)(3,\,5):

...#.
.#...
....T
.....
..#..

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页