1 条题解

  • 0
    @ 2025-8-24 21:16:37

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar 览遍千秋
    将伤与泪汇成力化作拳

    搬运于2025-08-24 21:16:36,当前版本为作者最后更新于2024-08-21 23:32:05,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2024 年 8 月语言月赛,由洛谷网校入门计划/基础计划提供。

    考察综合模拟。


    文字题解

    按题意模拟。

    使用三维数组 a[][][]a[][][] 来模拟小木箱。a[x][y][]a[x][y][] 记录 (x,y)(x,y) 存放的日记编号。用 二维数组 top[][]top[][] 来记录每一个小格子已经存放的日记数目,top[x][y]top[x][y] 表示 (x,y)(x,y) 已经存放的日记数目。

    对于输入的一篇日记,需要存放到 (x,y)(x,y),编号为 idid,首先检查 top[x][y]top[x][y] 的值

    • top[x][y]=ktop[x][y]=k

    则说明 (x,y)(x,y) 已经放满了,我们需要遍历 a[x][y][]a[x][y][],记录下最小值与最小值的位置,假设最小值为 a[x][y][pos]a[x][y][pos]pospos 即为位置,那么需要移动的日记份数即为 kposk-pos

    之后,进行数组的移动,将 i>posi>posa[x][y][i]a[x][y][i] 移动到 a[x][y][i1]a[x][y][i-1]。最后将新的日记存入 (x,y)(x,y),即 a[x][y][k]a[x][y][k] 赋值为 idid

    • top[x][y]ktop[x][y] \neq k

    直接将 top[x][y]top[x][y] 增加 11,将 a[x][y][top[x][y]]a[x][y][top[x][y]] 赋值为 idid


    视频题解

    • 1

    信息

    ID
    10593
    时间
    2000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者