极简题解|扫雷游戏
2025-07-13 09:25:09
发布于:江苏
25阅读
0回复
0点赞
模拟即可
#include<iostream>
using namespace std;
int n,m;
int nm[110][110];
char a;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a;
            if(a=='*'){
                nm[i][j]=9;
            }
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(nm[i][j]==0){
                if(nm[i-1][j-1]==9){
                    nm[i][j]++;
                }if(nm[i-1][j]==9){
                    nm[i][j]++;
                }if(nm[i-1][j+1]==9){
                    nm[i][j]++;
                }if(nm[i][j-1]==9){
                    nm[i][j]++;
                }if(nm[i][j+1]==9){
                    nm[i][j]++;
                }if(nm[i+1][j-1]==9){
                    nm[i][j]++;
                }if(nm[i+1][j]==9){
                    nm[i][j]++;
                }if(nm[i+1][j+1]==9){
                    nm[i][j]++;
                }
                cout<<nm[i][j];
            }else{
                cout<<'*';
            }
        }
        cout<<'\n';
    }
    return 0;
}
这里空空如也







有帮助,赞一个