λ¬Έμ
2020λ
μ μ
νν νλ΄κΈ° λμ°μ΄κ° μλ€. λμ°μ΄λ λΉλλ©΄ μμ
λλ¬Έμ νκ΅μ κ°μ§ λͺ»ν΄ νκ΅μ μλ μΉκ΅¬κ° μμλ€. λλμ΄ λλ©΄ μμ
μ νκ² λ λμ°μ΄λ μ΄μ μΊ νΌμ€ λ΄μ μ¬λλ€κ³Ό μΉν΄μ§κ³ μΆλ€.
λμ°μ΄κ° λ€λλ λνμ μΊ νΌμ€λ $N \times M$ ν¬κΈ°μ΄λ©° μΊ νΌμ€μμ μ΄λνλ λ°©λ²μ λ²½μ΄ μλ μνμ’μ°λ‘ μ΄λνλ κ²μ΄λ€. μλ₯Ό λ€μ΄, λμ°μ΄κ° ($x$, $y$)μ μλ€λ©΄ μ΄λν μ μλ κ³³μ ($x+1$, $y$), ($x$, $y+1$), ($x-1$, $y$), ($x$, $y-1$)μ΄λ€. λ¨, μΊ νΌμ€μ λ°μΌλ‘ μ΄λν μλ μλ€.
λΆμν λμ°μ΄λ₯Ό μνμ¬ μΊ νΌμ€μμ λμ°μ΄κ° λ§λ μ μλ μ¬λμ μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±ν΄λ³΄μ.
μ λ ₯
첫째 μ€μλ μΊ νΌμ€μ ν¬κΈ°λ₯Ό λνλ΄λ λ μ μ $N$ ($ 1 \leq N \leq 600$), $M$ ($ 1 \leq M \leq 600$)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€λΆν° $N$κ°μ μ€μλ μΊ νΌμ€μ μ 보λ€μ΄ μ£Όμ΄μ§λ€.Oλ λΉ κ³΅κ°,Xλ λ²½,Iλ λμ°μ΄,Pλ μ¬λμ΄λ€.Iκ° ν λ²λ§ μ£Όμ΄μ§μ΄ 보μ₯λλ€.
μΆλ ₯
첫째 μ€μ λμ°μ΄κ° λ§λ μ μλ μ¬λμ μλ₯Ό μΆλ ₯νλ€. λ¨, μ무λ λ§λμ§ λͺ»ν κ²½μ°TTλ₯Ό μΆλ ₯νλ€.
νμ΄
λ¨μ BFS λ¬Έμ
κ·Όλ° λ¬Έμ λ΄μ©μ΄ λ무 μνλ€
// νμ΄ : https://whkakrkr.tistory.com
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
typedef pair<int,int> ci;
int dx[] = {0,0,-1,1};
int dy[] = {1,-1,0,0};
int main() {
int n, m;
cin >> n >> m;
vector<vector<char>>board(n, vector<char>(m));
queue<ci> q;
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
cin >> board[i][j];
if(board[i][j] == 'I') {
q.push({i,j});
}
}
}
int ans = 0;
while(!q.empty()) {
ci cur = q.front();
q.pop();
for(int dir=0; dir<4; dir++) {
int x = cur.first + dx[dir];
int y = cur.second + dy[dir];
if(x<0 || x>=n || y<0 || y>=m) {
continue;
}
if(board[x][y] == 'X' || board[x][y] == 'I') {
continue;
}
if(board[x][y] == 'P') {
ans++;
}
board[x][y] = 'I';
q.push({x,y});
}
}
if(ans==0) {
cout << "TT";
} else {
cout << ans;
}
return 0;
}
'π Cpp > [Solved.ac] Class2~4' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ][C++] λ°±μ€ 17626λ²: Four Squares (Silver III) (0) | 2024.11.20 |
---|---|
[BOJ][C++] λ°±μ€ 30804λ²: κ³ΌμΌ νν루 (Silver II) (0) | 2024.11.12 |
[BOJ][C++] λ°±μ€ 18110λ²: solved.ac (Silver IV) (0) | 2024.11.08 |
[BOJ][C++] λ°±μ€ 14940λ²: μ¬μ΄ μ΅λ¨κ±°λ¦¬ (Silver I) (0) | 2024.11.02 |
[BOJ][C++] λ°±μ€ 1676λ²: ν©ν λ¦¬μΌ 0μ κ°μ (0) | 2023.04.19 |