DFS/BFS의 경우 사실 이론은 조금만 읽어도 금방 이해가 가능한데요,
그러나 막상 처음 구현하려 하면 바로 구현하기 힘든 경우가 많은데 알고리즘 문제를 반복적으로 풀며 구현해보면 금방 익숙하게 구현할 수 있게 됩니다.
다음은 DFS/BFS 학습을 위해 풀었던 문제들로
[기본]은 간단하게 DFS/BFS를 이용하여 풀 수 있는 문제이고,
[응용]은 DFS/BFS 중에도 조금 응용을 해야 풀 수 있는 문제입니다
기본적인 이론을 학습한 후 아래 문제들을 순서대로 풀어보면 좋을 것 같습니다.
[기본]
1. 바이러스 : https://www.acmicpc.net/problem/2606
2. 단지번호 붙이기 : https://www.acmicpc.net/problem/2667
3. 보물섬 : https://www.acmicpc.net/problem/2589
4. 토마토 : https://www.acmicpc.net/problem/7576
5. N-Queen : https://www.acmicpc.net/problem/9663
[응용]
1. 3차원 토마토 : https://www.acmicpc.net/problem/7569
2. 탈출 : https://www.acmicpc.net/problem/3055
3. 거울 설치 : https://www.acmicpc.net/problem/2151
모두 백준사이트(https://www.acmicpc.net/)문제로, 무료니 가입하고 풀어보면 됩니다
+거울문제의 경우 테스트케이스 보충
5
***#*
*.!.*
*!.!*
*.!.*
*#***
//2
5
*#*#*
*...*
*.!!*
*...*
*****
//0
5
***#*
*...*
*.!!*
*...*
**#**
//2
5
*#*#*
*...*
*!.!*
*...*
*****
//2
5
***#*
*..!#
*...*
*...*
*****
//1
5
***#*
*!..#
*...*
*!.!*
*****
//3
7
***#***
*!.!..*
*.....*
*.....*
*.....*
#!.*..*
*******
//3
7
***#***
*!.!..*
*.....*
*.....*
*.....*
*!.*..#
*******
//0
7
*******
*!.!..*
*.....*
*!..!.*
*.....*
*!!...*
**#*#**
//4
'Software Development > Algorithm' 카테고리의 다른 글
알고리즘_타일 채우기 문제 (2) | 2016.03.06 |
---|---|
Combination, n개 중 k개를 고르는 방법의 수 (0) | 2016.03.06 |
관계기반 알고리즘 설계_수학적 귀납법 (0) | 2016.02.08 |
탐색기반 알고리즘 설계_3.깊이우선탐색(DFS) (0) | 2016.01.30 |
탐색기반 알고리즘 설계_2.비선형구조탐색 (0) | 2016.01.30 |