[R40C]Yet another gravity problem
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
1S/512M
题目描述
在一个物流仓库中,机械臂突然发生故障,导致所有悬挂在空中的货物箱子同时垂直掉落。
仓库场景可以用一个 的网格表示,每个格子包含以下三种字符之一:
.表示空地。-表示坚硬平台(固定障碍物,悬浮在空中或地面,不可穿过)。- 大写字母表示货物箱子。
所有箱子同时垂直下落,直到遇到以下情况之一才会停止:
- 网格的底部
- 坚硬平台
- - 其他箱子(包括摔碎后变成的废墟)
每个箱子从初始位置 下落到静止位置 ,定义其下落距离 。
每个箱子都有一个耐摔程度 :
- 若 :箱子完好,保持原字母
- 若 :箱子摔碎,变为废墟字符
*。
注意:废墟 * 仍然占据该格子,可以支撑落在上方的物体。
请你输出所有箱子下落后的最终网格。
格式
输入格式
第一行包含三个整数 ,分别表示网格的行数、列数和箱子的耐摔程度。
接下来 行,每行包含一个长度为 的字符串,表示掉落前的初始状态。字符集为 .、- 和 A-Z。
输出格式
输出 行,每行 个字符,表示掉落并结算后的最终状态。
样例
样例输入 #1
4 2 1
A.
..
.B
-.
样例输出 #1
..
..
*.
-B
样例解释 #1
对于箱子 A:
箱子 A 原本在第 1 行,掉落到第 3 行(停在 - 上方)。此时下落距离 。因为 ,A 被摔碎,最终在第 行显示为 *。
对于箱子 B:箱子 B 原本在第 3 行。下方无障碍,直接掉落至第 4 行(网格底部)。此时下落距离 。因为 ,B 完好,最终在第 行显示为 B。
数据规模
对于 的数据, 。
对于 的数据,, 。
代码源挑战赛 Round 40
- Status
- Done
- Rule
- DMY
- Start at
- 2025-12-5 20:00
- End at
- 2025-12-5 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 443