https://www.acmicpc.net/problem/2468
2468λ²: μμ μμ
μ¬λλ°©μ¬μ²μμλ λ§μ λΉκ° λ΄λ¦¬λ μ₯λ§μ² μ λλΉν΄μ λ€μκ³Ό κ°μ μΌμ κ³ννκ³ μλ€. λ¨Όμ μ΄λ€ μ§μμ λμ΄ μ 보λ₯Ό νμ νλ€. κ·Έ λ€μμ κ·Έ μ§μμ λ§μ λΉκ° λ΄λ Έμ λ λ¬Όμ μ κΈ°μ§ μλ
www.acmicpc.net
λ¬Έμ
μ¬λλ°©μ¬μ²μμλ λ§μ λΉκ° λ΄λ¦¬λ μ₯λ§μ² μ λλΉν΄μ λ€μκ³Ό κ°μ μΌμ κ³ννκ³ μλ€. λ¨Όμ μ΄λ€ μ§μμ λμ΄ μ 보λ₯Ό νμ νλ€. κ·Έ λ€μμ κ·Έ μ§μμ λ§μ λΉκ° λ΄λ Έμ λ λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ΄ μ΅λλ‘ λͺ κ°κ° λ§λ€μ΄ μ§λ μ§λ₯Ό μ‘°μ¬νλ €κ³ νλ€. μ΄λ, λ¬Έμ λ₯Ό κ°λ¨νκ² νκΈ° μνμ¬, μ₯λ§μ² μ λ΄λ¦¬λ λΉμ μμ λ°λΌ μΌμ ν λμ΄ μ΄νμ λͺ¨λ μ§μ μ λ¬Όμ μ κΈ΄λ€κ³ κ°μ νλ€.
μ΄λ€ μ§μμ λμ΄ μ 보λ νκ³Ό μ΄μ ν¬κΈ°κ° κ°κ° NμΈ 2μ°¨μ λ°°μ΄ ννλ‘ μ£Όμ΄μ§λ©° λ°°μ΄μ κ° μμλ ν΄λΉ μ§μ μ λμ΄λ₯Ό νμνλ μμ°μμ΄λ€. μλ₯Ό λ€μ΄, λ€μμ N=5μΈ μ§μμ λμ΄ μ 보μ΄λ€.
6 | 8 | 2 | 6 | 2 |
3 | 2 | 3 | 4 | 6 |
6 | 7 | 3 | 3 | 2 |
7 | 2 | 5 | 3 | 6 |
8 | 9 | 5 | 2 | 7 |
μ΄μ μμ κ°μ μ§μμ λ§μ λΉκ° λ΄λ €μ λμ΄κ° 4 μ΄νμΈ λͺ¨λ μ§μ μ΄ λ¬Όμ μ κ²Όλ€κ³ νμ. μ΄ κ²½μ°μ λ¬Όμ μ κΈ°λ μ§μ μ νμμΌλ‘ νμνλ©΄ λ€μκ³Ό κ°λ€.
6 | 8 | 2 | 6 | 2 |
3 | 2 | 3 | 4 | 6 |
6 | 7 | 3 | 3 | 2 |
7 | 2 | 5 | 3 | 6 |
8 | 9 | 5 | 2 | 7 |
λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ΄λΌ ν¨μ λ¬Όμ μ κΈ°μ§ μλ μ§μ λ€μ΄ μ, μλ, μ€λ₯Έμͺ½ νΉμ μΌμͺ½μΌλ‘ μΈμ ν΄ μμΌλ©° κ·Έ ν¬κΈ°κ° μ΅λμΈ μμμ λ§νλ€. μμ κ²½μ°μμ λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ 5κ°κ° λλ€(κΌμ§μ μΌλ‘λ§ λΆμ΄ μλ λ μ§μ μ μΈμ νμ§ μλλ€κ³ μ·¨κΈνλ€).
λν μμ κ°μ μ§μμμ λμ΄κ° 6μ΄νμΈ μ§μ μ λͺ¨λ μ κΈ°κ² λ§λλ λ§μ λΉκ° λ΄λ¦¬λ©΄ λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ μλ κ·Έλ¦Όμμμ κ°μ΄ λ€ κ°κ° λ¨μ νμΈν μ μλ€.
6 | 8 | 2 | 6 | 2 |
3 | 2 | 3 | 4 | 6 |
6 | 7 | 3 | 3 | 2 |
7 | 2 | 5 | 3 | 6 |
8 | 9 | 5 | 2 | 7 |
μ΄μ κ°μ΄ μ₯λ§μ² μ λ΄λ¦¬λ λΉμ μμ λ°λΌμ λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ κ°μλ λ€λ₯΄κ² λλ€. μμ μμ κ°μ μ§μμμ λ΄λ¦¬λ λΉμ μμ λ°λ₯Έ λͺ¨λ κ²½μ°λ₯Ό λ€ μ‘°μ¬ν΄ 보면 λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ κ°μ μ€μμ μ΅λμΈ κ²½μ°λ 5μμ μ μ μλ€.
μ΄λ€ μ§μμ λμ΄ μ λ³΄κ° μ£Όμ΄μ‘μ λ, μ₯λ§μ² μ λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ μ΅λ κ°μλ₯Ό κ³μ°νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μλ μ΄λ€ μ§μμ λνλ΄λ 2μ°¨μ λ°°μ΄μ νκ³Ό μ΄μ κ°μλ₯Ό λνλ΄λ μ Nμ΄ μ λ ₯λλ€. Nμ 2 μ΄μ 100 μ΄νμ μ μμ΄λ€. λμ§Έ μ€λΆν° Nκ°μ κ° μ€μλ 2μ°¨μ λ°°μ΄μ 첫 λ²μ§Έ νλΆν° Nλ²μ§Έ νκΉμ§ μμλλ‘ ν νμ© λμ΄ μ λ³΄κ° μ λ ₯λλ€. κ° μ€μλ κ° νμ 첫 λ²μ§Έ μ΄λΆν° Nλ²μ§Έ μ΄κΉμ§ Nκ°μ λμ΄ μ 보λ₯Ό λνλ΄λ μμ°μκ° λΉ μΉΈμ μ¬μ΄μ λκ³ μ λ ₯λλ€. λμ΄λ 1μ΄μ 100 μ΄νμ μ μμ΄λ€.
μΆλ ₯
첫째 μ€μ μ₯λ§μ² μ λ¬Όμ μ κΈ°μ§ μλ μμ ν μμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
νμ΄
μ΄μ§ μ κ·Έλ μ΄λ λ BFS λ¬Έμ ..?
forλ¬Έ λ리면μ
1. λΉ λ΄λ¦¬κ³
2. λ μ κΈ°κ³ (0μΌλ‘ λ°κΏμ€)
3. bfs λλ €μ μμ κ°―μ μ°Ύκ³
4. μ΅λκ° κ°±μ
μ΄κ±° μ νλ©΄λλ€
BFS κΈ°λ³Έ νμ μ°μ΅νλκ±° μ¬μ©νλ€
[π Baaaaaarking/0x09κ° - BFS] - [BOJ S1][C++] λ°±μ€ 1926λ² : κ·Έλ¦Ό
μ λ§λ€ μ²μμ 76% μμ νλ Έλλ°
λΉκ° μμ μλ΄λ¦¬λ κ²½μ° (rain = 0) λ₯Ό κ³ λ €νμ§ μμμ νλ¦°κ±°μλ€
ν¬ν¨μμΌμ£Όλ κΉλνκ² μ λ΅
// Authored by : seondal
// νμ΄ : https://whkakrkr.tistory.com/
// Co-authored by : -
//#include <bits/stdc++.h>
#include <iostream>
#include <queue>
using namespace std;
int dx[4] = {0,0,-1,1};
int dy[4] = {1,-1,0,0};
int land[102][102];
int maxArea = 0;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
cin >> land[i][j];
for(int rain=0; rain<100; rain++){
// λΉμ μ κΈ΄λ€
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
if(land[i][j] <= rain) land[i][j]=0;
// μ΄κΈ°ν
int area = 0;
bool vis[102][102] = {false};
// μμ μμ κ°―μ μΈκΈ°
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(land[i][j] == 0) continue; // μ κ²ΌμΌλ©΄ ν¨μ€
if(vis[i][j]) continue; // μ΄λ―Έ λ°©λ¬ΈνμΌλ©΄ ν¨μ€
area++;
queue<pair<int, int>> q;
q.push({i,j});
vis[i][j] = true;
while(!q.empty()){
auto c = q.front();
q.pop();
for(int dir=0; dir<4; dir++){
int x = c.first + dx[dir];
int y = c.second + dy[dir];
if(x<0 || x>=n || y<0 || y>=n) continue;
if(vis[x][y] || land[x][y]==0) continue;
q.push({x,y});
vis[x][y] = true;
}
}
}
}
if(maxArea < area) maxArea = area;
}
cout << maxArea;
}
/**/
'π Baaaaaarking > 0x09κ° - BFS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ G4][C++] λ°±μ€ 2573λ²: λΉμ° (0) | 2022.04.15 |
---|---|
[BOJ G4][C++] λ°±μ€ 2206λ² : λ²½ λΆμκ³ μ΄λνκΈ° (0) | 2022.04.13 |
[BOJ S1][C++] λ°±μ€ 2667λ² : λ¨μ§λ²νΈ λΆμ΄κΈ° (6%) (0) | 2022.03.24 |
[BOJ S1][C++] λ°±μ€ 2583λ² : μμ ꡬνκΈ° (0) | 2022.03.21 |
[BOJ G4][C++] λ°±μ€ 5427λ² : λΆ (0) | 2022.03.19 |