1 solutions

  • 0
    @ 2024-6-12 14:04:24

    模拟(OnmOnm)

    • 枚举每个位置,统计非地雷点的地雷个数,然后输出。
    #include<bits/stdc++.h>
    using namespace std;
    int dx[]={-1,1,0,0,-1,-1,1,1};
    int dy[]={0,0,-1,1,-1,1,-1,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
    1048
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    10
    Tags
    # Submissions
    7
    Accepted
    2
    Uploaded By