题目描述
 小红正在玩一个“炸砖块”游戏,游戏的规则如下:
 初始有一个n∗m的砖块矩阵。小红会炸k次,每次会向一个位置投炸弹,如果这个位置有一个砖块,则砖块消失,上方的砖块向下落。
 小红希望你画出最终砖块的图案。
 
 
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
char g[1005][1005];
int arr[1005];
int n,m,k;
int main()
{
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            g[i][j]='*';//先输入原始的地图
    while(k--)//炸弹次数
    {
        int x,y;
        cin>>x>>y;
        if(g[x][y]=='*')//如果炸弹炸到的是砖头
        {
            
            if(g[x-1][y]=='*')//如果砖头上面有砖头
            {
                for(int i=1;;i++)//一直便利更改数据
                {
                    if(g[i][y]=='*')
                    {
                        g[i][y]='.';
                        break;
                    }
                }
            }
            else g[x][y]='.';//如果这个砖就是最顶上的
            //那么我们直接把他变成"."
            
        }
        
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++)
            cout<<g[i][j];
            cout<<endl;   
    }
    return 0;
}
                


















