2 solutions

  • 4
    @ 2025-9-14 11:39:18

    哇!!!

  • 1
    @ 2025-6-8 11:27:37
    #include<bits/stdc++.h>
    using namespace std;
    int dx[]={-1,-1,-1,0,0,1,1,1};
    int dy[]={-1,0,1,-1,1,-1,0,1};
    //相邻的方向
    const int N=110;
    char g[N][N];
    int main()
    {
        int n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++) //获取地图
        {
            for(int j=1;j<=m;j++)
            {
                cin>>g[i][j];
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                int cnt=0; //地雷个数
                if(g[i][j]=='*') cout<<"*"; //地雷
                else  //枚举周围的点,计算地雷个数
                {
                    for(int k=0;k<8;k++)
                    {
                        int a=i+dx[k],b=j+dy[k];
                        if(g[a][b]=='*') cnt++;
                    }
                    cout<<cnt;
                }
            }
            cout<<endl;
        }
        return 0;
    }
    
    
  • 1

Information

ID
554
Time
1000ms
Memory
128MiB
Difficulty
3
Tags
(None)
# Submissions
34
Accepted
13
Uploaded By