2 条题解

  • 1
    @ 2021-08-21 20:19:06
    #include<bits/stdc++.h>
    using namespace std;
    
    bool a[105][105];
    int main()
    {
        memset(a,0,sizeof(a));
        int n,m;
        char tmp;
        cin>>n>>m; 
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++) 
            {
                cin>>tmp; 
                if(tmp=='*') a[i][j]=1; 
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)
            {
                if(a[i][j]==1) printf("*");
                else
                {
                    printf("%d",a[i+1][j+1]+a[i+1][j-1]+a[i+1][j]+a[i][j+1]+a[i][j-1]+a[i-1][j+1]+a[i-1][j]+a[i-1][j-1]);
                }
            }
            printf("\n");
        }
        return 0;
    }
    
  • 1
    @ 2019-11-03 20:08:59

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int m,n;
    int dir[8][2]= {{-1,-1},{-1,0},{-1,1},{1,-1},{1,1},{0,-1},{1,0},{0,1}};
    char c[101][101];
    int main() {
    cin>>n>>m;
    for(int i=0; i<n; i++) {
    for(int j=0; j<m; j++) {
    cin>>c[i][j];
    }
    }

    for(int i=0;i<n;i++)
    {
    for(int j=0;j<m;j++)
    {
    if(c[i][j]=='*')cout<<"*";
    else {
    int cnt=0;
    for(int k=0;k<8;k++)
    {
    int dx=i+dir[k][0];
    int dy=j+dir[k][1];
    if(c[dx][dy]=='*'&&dx<n&&dx>=0&&dy>=0&&dy<m)cnt++;
    }
    cout<<cnt;
    }
    }
    cout<<"\n";
    }
    return 0;
    }

  • 1

信息

难度
9
分类
(无)
标签
递交数
4
已通过
3
通过率
75%
上传者