Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:32 MB
统计

类似一打砖块游戏,大小为R×C的图中有一个以许多方块构成的图形,我们轮流从左边和右边水平抛出物体,如果物体击中一个方块,则这个方块将消失,与它相连的方块如果没有支撑,将下落直到有支撑或到地面(注意是整体下落,可以看样例来理解)
编程计算最后图形的形状。
输入:
第一行两个整数 R 和 C (1 ≤ R, C ≤ 100), 图的大小
接下来R行,每行C个字符'.' 表示空地,X表示图形块。
接下来N行 (1 ≤ N ≤ 100), 抛出物体的次数。
最后一行N个整数,表示抛出物体的高度。所有高度在1和 R之间,包涵边界。 第一次抛物体在左边,接下来在右边,依此类推。
输出:
输出R行,每行C个字符,表示最后的形状。
样例:

输入:
5 6
......
..xx..
..x...
..xx..
.xxxx.
1
3
输出:
......
......
..xx..
..xx..
.xxxx.
输入:
8 8
........
........
...x.xx.
...xxx..
..xxx...
..x.xxx.
..x...x.
.xxx..x.
5
6 6 4 3 1
输出:
........
........
........
........
.....x..
..xxxx..
..xxx.x.
..xxxxx.
输入:
7 6
......
......
xx....
.xx...
..xx..
...xx.
....x.
2
6 4
输出:
......
......
......
......
..xx..
xx.xx.
.x..x.
第二个样例:第一次击中第4列高度为6个图形块。第二次击中第7列高度为6的方块。第三次击中第3列高度为4的方块。图形分成两部分,但都有支撑。第4次击中第7列高度为3的方块,将右边图形分成两部分,最中间的一大块失去支撑下落。最后击中第2列高度为1的块。