AT_abc369_f.[ABC369F] Gather Coins
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个高 H 行、宽 W 列的网格。我们用 (i,j) 表示从上往下第 i 行、从左往右第 j 列的格子。
在这个网格上有 N 枚硬币,第 i 枚硬币可以通过经过格子 (Ri,Ci) 来捡到。
你的目标是从格子 (1,1) 出发,每次只能向下或向右移动一格,尽可能多地捡到硬币,最终到达格子 (H,W)。
请你求出最多可以捡到多少枚硬币,并输出一种能够达到这个最大值的移动路径。
输入格式
输入通过标准输入给出,格式如下:
H W N R1 C1 R2 C2 ⋯ RN CN
输出格式
输出两行。第一行输出你最多可以捡到的硬币数量。第二行输出一种能够实现该最大值的移动路径,用一个长度为 H+W−2 的字符串表示。第 i 个字符表示第 i 次移动,若向下移动则为 D,若向右移动则为 R。
如果存在多条能够捡到最多硬币的路径,输出其中任意一条均可。
输入输出样例
输入#1
3 4 4 3 3 2 1 2 3 1 4
输出#1
3 DRRDR
输入#2
2 2 2 2 1 1 2
输出#2
1 DR
输入#3
10 15 8 2 7 2 9 7 9 10 3 7 11 8 12 9 6 8 1
输出#3
5 DRRRRRRRRDDDDDRRDRDDRRR
说明/提示
限制条件
- 2≤H,W≤2×105
- 1≤N≤min(HW−2,2×105)
- 1≤Ri≤H
- 1≤Ci≤W
- (Ri,Ci)=(1,1)
- (Ri,Ci)=(H,W)
- 所有 (Ri,Ci) 互不相同
- 输入均为整数
样例解释 1

如上图所示,按照 (1,1)→(2,1)→(2,2)→(2,3)→(3,3)→(3,4) 的路径移动,可以捡到 (2,1)、(2,3)、(3,3) 这三个格子的硬币。
样例解释 2
RD 这样的移动路径也是正确答案。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?