4 条题解

  • 1
    @ 2024-7-15 14:45:04

    `

    #include<bits/stdc++.h>
    using namespace std;
    char a[110][110];
    int main(){
    	int n,m;
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			cin>>a[i][j];
    		}
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			int l=0;
    			if(a[i][j]=='*'){
    				continue;
    			}
    			if(a[i-1][j+1]=='*'){
    				l++;
    			}
    			if(a[i][j+1]=='*'){
    				l++;
    			}
    			if(a[i+1][j+1]=='*'){
    				l++;
    			}
    			if(a[i+1][j]=='*'){
    				l++;
    			} 
    			if(a[i+1][j-1]=='*'){
    				l++; 
    			}
    			if(a[i][j-1]=='*'){
    				l++;
    			}
    			if(a[i-1][j-1]=='*'){
    				l++;
    			}
    			if(a[i-1][j]=='*'){
    				l++;
    			}
    			a[i][j]=char(l+'0');
    		}
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			cout<<a[i][j];
    		}
    		cout<<endl;
    	}
    	return 0;
    }
    
    • 0
      @ 2024-8-3 10:50:33

      #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;//愉快的结束了主程序 }

      • 0
        @ 2024-7-16 18:00:18
        #include<iostream>
        #include<cstdio>
        #include<cmath>
        using namespace std;
        char a[109][109];
        int b[109][109];
        int main(){
            long long n,m;
            cin>>n>>m;
            for(int i=1;i<=n;i++){
                for(int j=1;j<=m;j++){
                    cin>>a[i][j];
                }
            }
        
            for(int i=1;i<=n;i++){
                for(int j=1;j<=m;j++){
                    if(a[i][j]=='*'){
                        b[i][j+1]++;
                        b[i][j-1]++;
                        b[i+1][j]++;
                        b[i-1][j]++;
                        b[i+1][j+1]++;
                        b[i-1][j-1]++;
                        b[i+1][j-1]++;
                        b[i-1][j+1]++;
                    }
                }
            }
            for(int i=1;i<=n;i++){
                for(int j=1;j<=m;j++){
                    if(a[i][j]=='*'){
                        cout<<"*";
                    }else{
                        cout<<b[i][j];
                    }
                }
                cout<<endl;
            }
        }
        
        • 0
          @ 2024-7-15 15:20:36
          #include<bits/stdc++.h>
          using namespace std;
          char ge[110][110];
          int main(){
          	int m,n;
          	cin>>n>>m;
          	for(int i=1;i<=n;i++){
          		for(int j=1;j<=m;j++){
          			cin>>ge[i][j];
          		}
          	}
          	for(int i=1;i<=n;i++){
          		for(int j=1;j<=m;j++){
          			int k=0;
          			if(ge[i][j]=='?'){
          				if(ge[i-1][j-1]=='*') k++;
          				if(ge[i-1][j]=='*') k++;		
          				if(ge[i-1][j+1]=='*') k++;
          				if(ge[i][j-1]=='*') k++;
          				if(ge[i][j+1]=='*') k++;
          				if(ge[i+1][j-1]=='*') k++;		
          				if(ge[i+1][j]=='*') k++;
          				if(ge[i+1][j+1]=='*') k++;
          				ge[i][j]='0'+k;
          			}
          		}
          	}
          	for(int i=1;i<=n;i++){
          		for(int j=1;j<=m;j++){
          			cout<<ge[i][j];
          		}
          		cout<<endl; 
          	}
          }
          
          • 1

          信息

          ID
          293
          时间
          1000ms
          内存
          256MiB
          难度
          7
          标签
          递交数
          145
          已通过
          32
          上传者