μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- μλ£κ΅¬μ‘°
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- κΉμ΄μ°μ νμ
- μ°μ μμν
- DFS
- μμνμ
- νλ‘κ·Έλλ¨Έμ€
- κ·Έλν
- μκ³ λ¦¬μ¦
- db
- LIS
- νμ΄μ¬
- λ°±μ€
- μ λ ¬
- μ€λΈμ
- λ¨Έμ§μνΈ
- μν
- λμ ν©
- SQL
- ν°μ€ν 리μ±λ¦°μ§
- κ·Έλννμ
- λ³ν©μ λ ¬
- DP
- μμꡬνκΈ°
- λλΉμ°μ νμ
- BFS
- ꡬν
- λ°μ΄ν°λ² μ΄μ€
- 그리λ
- λμ κ³νλ²
πππ°πΈ π£πΆπ΅ π΄π΅π¦π’π₯πΊ
[λ°±μ€] 4963λ²: μ¬μ κ°μ - C++ λ³Έλ¬Έ
λ¬Έμ
μ μ¬κ°νμΌλ‘ μ΄λ£¨μ΄μ Έ μλ μ¬κ³Ό λ°λ€ μ§λκ° μ£Όμ΄μ§λ€. μ¬μ κ°μλ₯Ό μΈλ νλ‘κ·Έλ¨μ μμ±νμμ€.
ν μ μ¬κ°νκ³Ό κ°λ‘, μΈλ‘ λλ λκ°μ μΌλ‘ μ°κ²°λμ΄ μλ μ¬κ°νμ κ±Έμ΄κ° μ μλ μ¬κ°νμ΄λ€.
λ μ μ¬κ°νμ΄ κ°μ μ¬μ μμΌλ €λ©΄, ν μ μ¬κ°νμμ λ€λ₯Έ μ μ¬κ°νμΌλ‘ κ±Έμ΄μ κ° μ μλ κ²½λ‘κ° μμ΄μΌ νλ€. μ§λλ λ°λ€λ‘ λλ¬μΈμ¬ μμΌλ©°, μ§λ λ°μΌλ‘ λκ° μ μλ€.
μ λ ₯
μ λ ₯μ μ¬λ¬ κ°μ ν μ€νΈ μΌμ΄μ€λ‘ μ΄λ£¨μ΄μ Έ μλ€. κ° ν μ€νΈ μΌμ΄μ€μ 첫째 μ€μλ μ§λμ λλΉ wμ λμ΄ hκ° μ£Όμ΄μ§λ€. wμ hλ 50λ³΄λ€ μκ±°λ κ°μ μμ μ μμ΄λ€.
λμ§Έ μ€λΆν° hκ° μ€μλ μ§λκ° μ£Όμ΄μ§λ€. 1μ λ , 0μ λ°λ€μ΄λ€.
μ λ ₯μ λ§μ§λ§ μ€μλ 0μ΄ λ κ° μ£Όμ΄μ§λ€.
μΆλ ₯
κ° ν μ€νΈ μΌμ΄μ€μ λν΄μ, μ¬μ κ°μλ₯Ό μΆλ ₯νλ€.
μμ νμλ 2667λ² λ¨μ§λ²νΈλΆμ΄κΈ°μ κ°μ λ°©μμΌλ‘ ν μ μλ€.
λ€λ§, μλ¬Έμ μ λ¬λ¦¬ λκ°μ λ°©ν₯λ κ°λ₯νκΈ° λλ¬Έμ dx, dy λ°©ν₯μ μνμ’μ°λΏ μλλΌ λκ°μ λ°©ν₯λ μΆκ°ν΄μ€λ€.
μ½λ
#include <cstdio>
#define MAX 51
int w, h;
int island[MAX][MAX];
int dx[] = {1, 0, -1, 0, 1, -1, 1, -1};
int dy[] = { 0, 1, 0, -1, 1, -1, -1, 1};
void DFS(int a, int b);
int main(void) {
while(true) {
int c = 0;
scanf("%d %d", &w, &h);
if(w == 0 && h == 0) break;
for(int i = 1; i <= h; i++) {
for(int j = 1; j <= w; j++) {
scanf("%d", &island[i][j]);
}
}
for(int i = 1; i <= h; i++) {
for(int j = 1; j <= w; j++) {
if(island[i][j] == 1) {
DFS(i, j);
c++;
}
}
}
printf("%d\n", c);
}
return 0;
}
void DFS(int a, int b) {
island[a][b] = 0;
for(int i = 0; i < 8; i++) {
if((a + dy[i] < 1) || (a + dy[i] > h) || (b + dx[i] < 1) || (b + dx[i] > w))
continue;
if(island[a + dy[i]][b + dx[i]] == 1)
DFS(a + dy[i], b + dx[i]);
}
}
'μ½λ©ν μ€νΈ μ€λΉ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 2178λ²: λ―Έλ‘ νμ - C++ (0) | 2022.01.04 |
---|---|
[λ°±μ€] 7576λ²: ν λ§ν - C++ (0) | 2022.01.03 |
[λ°±μ€] 2667λ²: λ¨μ§λ²νΈλΆμ΄κΈ° - C++ (0) | 2021.12.24 |
[λ°±μ€] 2331λ²: λ°λ³΅μμ΄ - C++ (0) | 2021.12.23 |
[λ°±μ€] 11724λ²: μ°κ²° μμμ κ°μ - C++ (0) | 2021.12.22 |