90分 新手求助
查看原帖
90分 新手求助
1126681
EvanZhu31楼主2023/10/11 17:24
#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n=0,m=0;
    cin >> n >> m;
    char a[n][m];
    for(int i=0;i<n;i++)
    {
        string sb;
        cin >> sb;
        for(int j=0;j<m;j++)
        {
            a[i][j]=sb[j];
        }
    }

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            int count=0;
            if(a[i][j]=='*')
            {
                cout << '*';
            }
            else
            {

                if(a[i-1][j-1]=='*'&&i-1>=0&&j-1>=0) count+=1;
                if(a[i-1][j]=='*'&&i-1>=0) count+=1;
                if(a[i-1][j+1]=='*'&&i-1>=0&&j+1<m) count+=1;
                if(a[i][j-1]=='*'&&j-1>=0) count+=1;
                if(a[i][j+1]=='*'&&j+1<m) count+=1;
                if(a[i+1][j-1]=='*'&&i+1<n&&j-1>=0) count+=1;
                if(a[i+1][j]=='*'&&i+1<n) count+=1;
                if(a[i+1][j+1]=='*'&&i+1>=0&&j+1<m) count+=1;
                cout << count;
            }
        }
        cout << endl;
    }
}

第五个测试点,说第100行第89列应是3,读出是4,但是我在本地跑确实是3。感觉代码应该是没有问题了,求大佬看看还有没有问题,感谢。

2023/10/11 17:24
加载中...