#CF4027. 落石术
落石术
题目描述
有一个网格,包含 行和 列,以及三种类型的单元格:
一个空单元格:用 .
表示。
一块石头:用 *
表示。
一个障碍物:用小写字母 o
表示。
所有的石头都会掉下来,直到它们碰到地板(最底层)、障碍物或其他已经无法移动的石头。(换言之,只要石头能往下掉,它就会往下掉。)
模拟该过程。最终的网格是什么样子的?
输入格式
输入由多个测试用例组成。第一行包含整数 表示测试用例数。测试用例的描述如下。
每个测试用例的第一行包含两个整数 和 ,分别是网格中的行数和列数。
随后是 行,每行包含 个字符。这些字符中的每一个都是 .
、*
、或 o
——分别是一个空格、一块石头或一个障碍物。
输出格式
对于每个测试用例,输出一个包含 行和 列的网格,输出最终结果。
您不需要在每次测试后输出新行,它在示例中只是为了清晰。
测试样例
3
6 10
.*.*....*.
.*.......*
...o....o.
.*.*....*.
..........
.o......o*
2 9
...***ooo
.*o.*o.*o
5 5
*****
*....
*****
....*
*****
..........
...*....*.
.*.o....o.
.*........
.*......**
.o.*....o*
....**ooo
.*o**o.*o
.....
*...*
*****
*****
*****