AT_abc273_d.[ABC273D] LRUD Instructions
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个 H 行 W 列的网格。自上而下的第 i 行,自左而右的第 j 列的格子记作格子 (i,j)。
有 N 个格子 (r1,c1), (r2,c2), …, (rN,cN) 是墙。
一开始,高桥君位于格子 (rs,cs)。
高桥君会收到 Q 条指令。对于 i=1,2,…,Q,第 i 条指令由一个字符 di 和一个正整数 li 组成。di 是 L、R、U、D 之一,分别表示左、右、上、下四个方向。
对于第 i 条指令,高桥君会重复以下操作 li 次:
如果当前位置在 di 指定的方向上有一个不是墙的相邻格子,则移动到该格子。若没有这样的格子,则什么也不做。
请你对于 i=1,2,…,Q,在执行完前 i 条指令后,高桥君所在的格子 (Ri,Ci) 输出在第 i 行。
输入格式
输入以如下格式从标准输入读入:
H W rs cs
N
r1 c1
r2 c2
⋮
rN cN
Q
d1 l1
d2 l2
⋮
dQ lQ
输出格式
输出 Q 行。对于 i=1,2,…,Q,在执行完前 i 条指令后,高桥君所在的格子 (Ri,Ci) 输出在第 i 行。
R1 C1
R2 C2
⋮
RQ CQ
输入输出样例
输入#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≤109
- 1≤rs≤H
- 1≤cs≤W
- 0≤N≤2×105
- 1≤ri≤H
- 1≤ci≤W
- i=j⇒(ri,ci)=(rj,cj)
- 对所有 i=1,2,…,N,(rs,cs)=(ri,ci)
- 1≤Q≤2×105
- di 是
L、R、U、D之一 - 1≤li≤109
- 除 di 外,所有输入均为整数
样例解释 1
给定的网格和高桥君的初始位置如下。这里,# 表示墙,T 表示高桥君,. 表示其他格子。
...#.
.#...
.....
...T.
..#..
对于第 1 条指令,高桥君向左移动 2 格,位置变为 (4,2):
...#.
.#...
.....
.T...
..#..
对于第 2 条指令,高桥君向上移动 1 格后,因下一个位置是墙,后续 2 次“什么也不做”,最终位置为 (3,2):
...#.
.#...
.T...
.....
..#..
对于第 3 条指令,高桥君向左移动 1 格后,因下一个位置不存在,后续 1 次“什么也不做”,最终位置为 (3,1):
...#.
.#...
T....
.....
..#..
对于第 4 条指令,高桥君向右移动 4 格,最终位置为 (3,5):
...#.
.#...
....T
.....
..#..
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?