#36042: cpp簡單解法


lix24773@gmail.com (學店生)

學校 : 雲林縣正心高級中學
編號 : 230091
來源 : [140.113.0.229]
最後登入時間 :
2024-02-06 17:56:06
d625. 踩地雷真好玩 -- jack1 | From: [42.76.62.127] | 發表日期 : 2023-07-01 15:06

把二維陣列放大一圈
長寬5就設定成長寬7
然後有炸彈就四周都+1
 
 
#include <bits/stdc++.h> //萬能標頭檔
using namespace std;

 

int main()
{  
int n;
cin>>n;
char q[n+2][n+2]={'0'};
for(int i=1;i<n+1;i++){
    for(int k=1;k<n+1;k++){
        cin>>q[i][k];
        if(q[i][k]=='-')
        q[i][k]='0';
    }
}
for(int i=1;i<n+1;i++){
    for(int k=1;k<n+1;k++){
        if(q[i][k]=='*'){
            for(int t=i-1;t<=i+1;t++){
                for(int s=k-1;s<=k+1;s++){
                    if(q[t][s]!='*')
                    q[t][s]=q[t][s]+1;
            }
            }
        }
    }
}

 

for(int i=1;i<n+1;i++){
    for(int k=1;k<n+1;k++){
        if(q[i][k]=='0')
        q[i][k]='-';
    }
    }
for(int i=1;i<n+1;i++){
    for(int k=1;k<n+1;k++){
        cout<<q[i][k];
    }
    cout<<endl;
    }
return 0;
}
 
ZeroJudge Forum