30分求助
查看原帖
30分求助
303977
屑梨子楼主2021/1/25 18:04

萌新初学OI三天(

#include<bits/stdc++.h>
int n,m,a[105][105];
char cao;
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%s", a[i] + 1);
        for(int j=1;j<=m;j++)
        {
            if(a[i][j]=='*')
            {
                a[i][j]=114514;
            }
            if(a[i][j]=='?')
            {
                a[i][j]=0;
            }
        }
    }
    for (int i=0;i<=n;i++)
        a[i][0]=0;
    for (int i=0;i<=m;i++)
        a[0][i]=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(a[i][j] == 0)
            {
                if(a[i-1][j-1] == 114514) { a[i][j]++; }
                if(a[i-1][j] == 114514) { a[i][j]++; }
                if(a[i-1][j+1] == 114514) { a[i][j]++; }
                if(a[i][j-1] == 114514) { a[i][j]++; }
                if(a[i][j+1] == 114514) { a[i][j]++; }
                if(a[i+1][j+1] == 114514) { a[i][j]++; }
                if(a[i+1][j] == 114514) { a[i][j]++; }
                if(a[i+1][j-1] == 114514) { a[i][j]++; }
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(a[i][j]==114514)
            {
                printf("*");
            }
            else
            {
                printf("%d",a[i][j]);
            }
        }
        printf("\n");
    }
}
2021/1/25 18:04
加载中...