题解
2024-05-26 16:08:18
发布于:广东
3阅读
0回复
0点赞
#include <iostream>
#define int long long//定义宏int->long long
using namespace std;
char a[105][105];
int cnt;
void fast(){//加速读入输出
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}
int chk(char a,char b,char c,char d,char e,char f,char g,char h){//计算周边雷数的函数
    int cn=0;
    if(a=='*') cn++;
    if(b=='*') cn++;
    if(c=='*') cn++;
    if(d=='*') cn++;
    if(e=='*') cn++;
    if(f=='*') cn++;
    if(g=='*') cn++;
    if(h=='*') cn++;
    return cn;
}
signed main() {
    fast();
    int n,m;//宽和长
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
            
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(!(a[i][j]=='*')) {
                cnt=chk(a[i-1][j+1],a[i-1][j],a[i-1][j-1],a[i][j+1],a[i][j-1],a[i+1][j+1],a[i+1][j],a[i+1][j-1]);//计算
                cout<<cnt;//输出(不带空格)
                cnt=0;
            }
            else{
                cout<<'*';
            }
        }
        cout<<'\n';//换行
    }
    return 0;//结束
}
这里空空如也


有帮助,赞一个