#42094: cpp解


dvbdarcyvolleyball@gmail.com (kuhaku1027)

學校 : 新北市私立南山高級中學
編號 : 266888
來源 : [203.71.175.163]
最後登入時間 :
2024-12-26 18:59:08
a867. 7. Minelayer -- HP CodeWars2010 | From: [123.252.121.18] | 發表日期 : 2024-09-26 19:34

過了,但,怪怪的

#include <iostream>
#define fast_as_a_fuckboy ios_base::sync_with_stdio(0);cin.tie(0);
using namespace std;

int main(){
  fast_as_a_fuckboy; 
  int out[17][32] = {{0}};
  char in[17][32];
  for(int i = 1;i <= 15;i++){
    for(int j = 1;j <= 30;j++){
      cin >> in[i][j];
    }
  }
  for(int i = 1;i <= 15;i++){
    for(int j = 1;j <= 30;j++){
      if(in[i][j] == '*'){
        out[i][j] = '*';
        if(out[i][j+1] != '*')out[i][j+1]++;
        if(out[i+1][j+1] != '*')out[i+1][j+1]++;
        if(out[i+1][j] != '*')out[i+1][j]++;
        if(out[i-1][j+1] != '*')out[i-1][j+1]++;
        if(out[i-1][j] != '*')out[i-1][j]++;
        if(out[i-1][j-1] != '*')out[i-1][j-1]++;
        if(out[i][j-1] != '*')out[i][j-1]++;
        if(out[i+1][j-1] != '*')out[i+1][j-1]++;
      }
    }
  }
  for(int i = 1;i <= 15;i++){
    for(int j = 1;j <= 30;j++){
      if(out[i][j] == 0){ //沒東西
        cout << ".";
      }
      else if(out[i][j] > 8){ //超出炸彈上限 代表他是炸彈
        cout << "*";
      }
      else{
        cout << out[i][j];
      }
    }
    cout << "\n";
  }
}

 
ZeroJudge Forum