๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 4396๋ฒˆ - ์ง€๋ขฐ ์ฐพ๊ธฐ

by ์•ˆ์ฃผํ˜• 2022. 3. 26.

๋ฌธ์ œ

 

4396๋ฒˆ: ์ง€๋ขฐ ์ฐพ๊ธฐ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” 10๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜ n์ด ์ž…๋ ฅ๋œ๋‹ค. ๋‹ค์Œ n๊ฐœ์˜ ์ค„์€ ์ง€๋ขฐ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ฐ๊ฐ์˜ ์ค„์€ n๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ํ–‰์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์˜จ์ (.)์€ ์ง€๋ขฐ๊ฐ€ ์—†๋Š” ์ง€์ ์ด๋ฉฐ ๋ณ„

www.acmicpc.net

 

์ฝ”๋“œ

//14:03 ~ 14:16

#include <iostream>
using namespace std;


int N;
char map[11][11];
char inp[11][11];
char out[11][11];
int dx[8] = {0, 0, -1, 1, -1, -1, 1, 1};   //์ƒ, ํ•˜, ์ขŒ, ์šฐ, ์™ผ์ชฝ ์œ„, ์™ผ์ชฝ ์•„๋ž˜, ์˜ค๋ฅธ์ชฝ ์œ„, ์˜ค๋ฅธ์ชฝ ์•„๋ž˜
int dy[8] = {-1, 1, 0, 0, -1, 1, -1, 1};


int dfs(int x, int y, int cnt){
    for(int i=0; i<8; i++){
        int nx = x + dx[i];
        int ny = y + dy[i];
        if(nx>=0&&nx<N&&ny>=0&&ny<N){
            if(map[nx][ny]=='*') cnt++;
        }
    }
    return cnt;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
    bool flag = false;  //์ง€๋ขฐ๋ฅผ ๋ฐŸ์•˜๋Š”์ง€ ์•ˆ๋ฐŸ์•˜๋Š”์ง€ ํ™•์ธ
    cin>>N;
    
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            cin>>map[i][k];
        }
    }
    
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            cin>>inp[i][k];
        }
    }
    
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            if(inp[i][k]=='x'){
                int cnt = dfs(i,k,0);
                out[i][k] = cnt+'0';
                if(map[i][k]=='*') flag = true;    // ์ง€๋ขฐ๋ฅผ ๋ฐŸ์Œ.
            }
            else if(inp[i][k]=='.') out[i][k] = '.';
            
        }
    }
    
    if(flag){
        for(int i=0; i<N; i++){
            for(int k=0; k<N; k++){
                if(map[i][k]=='*') out[i][k]='*';
            }
        }
    }
    
    for(int i=0; i<N; i++){
        for(int k=0; k<N; k++){
            cout<<out[i][k];
        }
        cout<<'\n';
    }
    
    
}

 

ํ’€์ด

๋‹จ์ˆœํ•œ ๊ตฌํ˜„ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์ƒํ•˜์ขŒ์šฐ ๋Œ€๊ฐ์„ ์— ์ง€๋ขฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ๋งŒํผ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์ฃผ์–ด ํ˜„์žฌ  ํŒ์—๋‹ค๊ฐ€ ๊ฐœ์ˆ˜๋ฅผ ํ‘œ๊ธฐํ•ด ์ฃผ์—ˆ๊ณ , ํ˜น์‹œ๋ผ๋„ ์ง€๋ขฐ๊ฐ€ ์—ด๋ ธ๋‹ค๋ฉด ๋ชจ๋“  ์ง€๋ขฐ ๊ตฌ๊ฐ„์„ ์˜คํ”ˆํ•ด์•ผ ํ•˜๊ธฐ์— ์ง€๋ขฐ๊ฐ€ ์žˆ๋Š” ๊ตฌ๊ฐ„์€ ๋ชจ๋‘ '*'๋กœ ๋ฐ”๊พธ์–ด ์ฃผ๋Š” ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋Œ“๊ธ€