AT_ahc046_a.[AHC046A] Skating with Blocks

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有一个由 N×NN \times N 个格子组成的滑冰场。左上角格子的坐标为 (0,0)(0,0),向下 ii 格、向右 jj 格的位置坐标为 (i,j)(i,j)。N×NN \times N 格子的外部全部被障碍物包围,无法通过。初始状态下,N×NN \times N 格子内部没有任何障碍物。

你现在位于初始位置 (i0,j0)(i_0, j_0),需要按顺序依次访问指定的目的地 (i1,j1), (i2,j2), …, (iM−1,jM−1)(i_1, j_1),\ (i_2, j_2),\ \dots,\ (i_{M-1}, j_{M-1})。

每一回合,你可以指定一个方向(上下左右),并选择以下三种操作之一执行:

  • 移动:向指定方向相邻的格子移动一格。移动目标格子不能有障碍物。
  • 滑行:向指定方向直线滑行,直到撞到障碍物为止。
  • 更改:对指定方向相邻的格子,如果没有障碍物则放置一个障碍物,如果已经有障碍物则移除。不能指定 N×NN \times N 格子的外部。你也可以在当前或未来的目的地上放置障碍物,但那样的话,必须先移除障碍物才能访问该格子。

如果通过“滑行”经过了目的地,并不会视为访问了该格子。只有通过“移动”到达该格子,或“滑行”并在该格子停下,才算访问了目的地。

必须按照指定顺序访问所有目的地。如果提前经过了后面的目的地,并不会视为访问,等到轮到该目的地时还需要重新访问。

最多可以执行 2NM2NM 回合操作。请尽可能用最少的回合数,按顺序访问所有目的地。

输入格式

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

NN MM i0i_0 j0j_0
i1i_1 j1j_1
⋮\vdots
iM−1i_{M-1} jM−1j_{M-1}

  • 所有测试点中,N=20N=20,M=40M=40。
  • 初始位置和所有目的地的坐标 (ik,jk)(i_k, j_k) 满足 0≤ik,jk≤N−10 \leq i_k, j_k \leq N-1,且两两不同。

输出格式

每一回合选择的操作和方向,分别用一个字母表示。

操作

  • 移动:M
  • 滑行:S
  • 更改:A

方向

  • 上:U
  • 下:D
  • 左:L
  • 右:R

第 tt 回合(t=0,1,…,T−1t=0,1,\dots,T-1)的操作和方向分别为 ata_t、dtd_t,请按如下格式输出到标准输出。

a0a_0 d0d_0
a1a_1 d1d_1
⋮\vdots
aT−1a_{T-1} dT−1d_{T-1}

输入输出样例

  • 输入#1

    20 40
    3 7
    14 16
    19 19
    0 8
    0 10
    17 11
    11 7
    19 12
    10 12
    5 4
    13 5
    19 10
    19 14
    1 19
    8 5
    6 9
    9 3
    10 0
    8 7
    17 17
    4 2
    1 13
    9 17
    13 4
    9 14
    19 13
    16 9
    8 17
    10 18
    14 3
    14 13
    18 19
    3 14
    8 13
    7 9
    12 18
    8 6
    10 7
    12 1
    5 17

    输出#1

    S D
    M U
    A D
    M U
    M U
    M U
    M U
    S R
    M L
    M L
    M L
    S D
    S R
    S L
    S U
    M R
    M R

说明/提示

得分

设输出的操作序列长度为 TT,成功访问的目的地数量为 mm,则得分如下:

  • 若 m<M−1m < M-1,得分为 m+1m+1。
  • 若 m=M−1m = M-1,得分为 M+2NM−TM+2NM-T。

总共有 150 个测试用例,所有测试用例的得分之和为最终提交得分。如果有任意一个测试用例输出不合法或超时,则整份提交判为 WA 或 TLE。比赛期间以最高得分决定最终排名,比赛结束后不进行系统测试。若多名参赛者得分相同,则排名相同,与提交时间无关。

输入生成方法

初始位置和目的地的生成方法如下:

首先将 N2N^2 个格子的所有坐标随机排列。取排列后的前 MM 个,依次作为 (i0,j0),(i1,j1),…,(iM−1,jM−1)(i_0, j_0), (i_1, j_1), \dots, (i_{M-1}, j_{M-1})。

工具(输入生成器与可视化工具)

比赛期间禁止分享可视化结果、讨论解法或思路。请注意遵守规则。

由 ChatGPT 4.1 翻译

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

首页