5 solutions

  • 0
    @ 2025-11-25 17:18:35
    1. 为了防抄袭
    • -1
      @ 2025-11-29 20:25:48

      • -1
        @ 2025-11-25 17:17:41

        • -3
          @ 2025-11-25 17:01:39
          #include<bits/stdc++.h>
          using namespace std;
          int n,m,a[105][105]; 
          char t;
          int main()
          {
          	cin>>n>>m;
          	for(int i=1;i<=n;i++)
          		for(int j=1;j<=m;j++)
          		{
          			cin>>t;
          			if(t=='*')
          				a[i][j]=-1;//是地雷
          			else
          				a[i][j]=0;//不是地雷 
          		}
          	for(int i=1;i<=n;i++)
          		for(int j=1;j<=m;j++)
          		{
          			if(a[i][j]!=-1)
          			{
          				int s=0;
          				if(a[i-1][j-1]==-1)s++;
          				if(a[i-1][j]==-1)s++;
          				if(a[i-1][j+1]==-1)s++;
          				if(a[i][j-1]==-1)s++;
          				if(a[i][j+1]==-1)s++;
          				if(a[i+1][j-1]==-1)s++;
          				if(a[i+1][j]==-1)s++;
          				if(a[i+1][j+1]==-1)s++;
          				a[i][j]=s;
          			}
          		}
          	for(int i=1;i<=n;i++)
          	{
          		for(int j=1;j<=m;j++)
          			if(a[i][j]==-1)
          				cout<<'*';
          			else 
          				cout<<a[i][j];
          		cout<<endl;
          	}
          	return 0;
          }
          
          
          • -5
            @ 2025-11-18 17:22:05

            解题报告

            撰写人: 杜嘉乐

            难度等级

            ★★★★★

            参考程序

            #include<bits/stdc++.h>
            using namespace std;
            int n,m,nx,ny,sum;
            int dx[8]={-1,-1,0,1,1,1,0,-1};
            int dy[8]={0,1,1,1,0,-1,-1,-1};
            char a[105][105],c[105][105];
            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{
                   sum=0;
                   for(int k=0;k<8;k++){
                      nx=i+dx[k];
                      ny=j+dy[k];
                      if(nx>=0&&nx<n&&ny>=0&&ny<m&&c[nx][ny]=='*')
                        sum++;
                   }
                   cout<<sum;
                 }
               }
               cout<<endl;
             }
             return 0;    
            }
            
            • @ 2025-11-22 15:17:31

            • @ 2025-11-29 20:27:22

              写的是啥,好复杂,有点难看懂

          • 1

          Information

          ID
          293
          Time
          1000ms
          Memory
          256MiB
          Difficulty
          3
          Tags
          # Submissions
          50
          Accepted
          29
          Uploaded By