传统题 1000ms 256MiB

下落模拟

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

现有一面墙,可以看作 nnmm 列的网格,其中从上往下第 ii 行、从左到右第 jj 列的格子记为 (i,j)(i,j)

每个格子可能有一个箱子、一块挡板,或者没有东西。箱子有 2626 种(未必只有 2626 个),用大写字母标号。

具体地,我们使用一个字符数组 ai,ja_{i,j} 来表示这个网格,其中:

  • ai,ja_{i,j} 是大写字母时表示 (i,j)(i,j) 是一个标号为 ai,ja_{i,j} 的箱子。
  • ai,ja_{i,j} 是减号 - 时表示 (i,j)(i,j) 是一块挡板。
  • ai,ja_{i,j} 是句点 . 时表示 (i,j)(i,j) 没有东西。

由于重力原因,在任意时刻,如果一个在 (i,j)(i,j) 的箱子下方格子(即 (i+1,j)(i+1,j)存在并且没有东西,那么它会下落到这个格子。

给出初始时每个格子上的情况,输出经过足够长的时间后每个格子的情况。

输入格式

第一行有两个正整数 n,mn,m,表示网格的行数和列数。

之后有 nn 行,每行有一个长为 mm 的字符串,表示这个网格 ai,ja_{i,j},具体含义同题目描述。

输出格式

输出 nn 行,每行有一个长为 mm 的字符串,表示足够长的时间之后的网格,输出格式同题目描述。

6 3
A.B
...
..-
..D
C..
...
...
..B
..-
...
A..
C.D

说明/提示

【数据范围】

对于全部数据,保证 1n1051\le n\le 10^51m101\le m\le 10ai,ja_{i,j} 只可能是 .- 或大写字母。


提示:从下往上依次考虑每一个箱子的最终位置,就可以保证每个箱子落地后一定不再移动。

图灵周赛 Round 27(二场)

未参加
状态
已结束
规则
ACM/ICPC
题目
6
开始于
2025-10-25 18:00
结束于
2025-10-25 21:00
持续时间
3 小时
主持人
参赛人数
31
v>