๋ฌธ์
์ฝ๋
//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';
}
}
ํ์ด
๋จ์ํ ๊ตฌํ ๋ฌธ์ ์์ต๋๋ค. ์ํ์ข์ฐ ๋๊ฐ์ ์ ์ง๋ขฐ๊ฐ ์๋ค๋ฉด ๊ทธ๋งํผ ๊ฐ์๋ฅผ ์ธ์ฃผ์ด ํ์ฌ ํ์๋ค๊ฐ ๊ฐ์๋ฅผ ํ๊ธฐํด ์ฃผ์๊ณ , ํน์๋ผ๋ ์ง๋ขฐ๊ฐ ์ด๋ ธ๋ค๋ฉด ๋ชจ๋ ์ง๋ขฐ ๊ตฌ๊ฐ์ ์คํํด์ผ ํ๊ธฐ์ ์ง๋ขฐ๊ฐ ์๋ ๊ตฌ๊ฐ์ ๋ชจ๋ '*'๋ก ๋ฐ๊พธ์ด ์ฃผ๋ ์์ผ๋ก ๊ตฌํํ์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 2422๋ฒ - ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ (0) | 2022.03.27 |
---|---|
[๋ฐฑ์ค,c++] 1449๋ฒ - ์๋ฆฌ๊ณต ํญ์น (0) | 2022.03.27 |
[๋ฐฑ์ค,c++] 1254๋ฒ - ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ (0) | 2022.03.26 |
[๋ฐฑ์ค,c++] 5582๋ฒ - ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด (0) | 2022.03.25 |
[๋ฐฑ์ค,c++] 24499๋ฒ - blobyum (0) | 2022.03.23 |
[๋ฐฑ์ค,c++] 24498๋ฒ - blobnom (0) | 2022.03.23 |
๋๊ธ