문제
https://www.acmicpc.net/problem/15657
풀이
N과 M은 dfs탐색을 연습할 수 있는 시리즈다
dfs의 기본 프레임은 이렇다.
void dfs(매개변수) {
if(dfs탐색을 끝낼 조건)
dfs실행! (조건에 맞게 재귀적으로 dfs함수 부르기)
}
매개변수에는 재귀적으로 dfs를 부를 때, 필요한 상태같은 것들을 같이 넘겨주고싶은 것을 넣는다.
이 문제에서 나는 vector에 저장하면서 탐색조건을 걸었기 때문에 매개변수에 따로 넘겨줄 정보는 없었따.
(조금 더 연습을 해봐야 dfs, 백트래킹, 재귀 등등에 대한 확신이 생길 것 같다...)
코드
https://github.com/ziwonii24/Algorithm/blob/master/Baekjoon/15657.cpp
결과
'알고리즘 문제풀이 > 알고리즘 C++ 풀이' 카테고리의 다른 글
[백준] 1926번: 그림 (C++ 풀이) (0) | 2019.02.04 |
---|---|
[백준] 15663번: N과 M(9) (C++ 풀이) (0) | 2019.02.03 |
[백준] 2776번: 암기왕 (C++ 풀이) (0) | 2019.01.30 |
[백준] 7567번: 그릇 (C++ 풀이) (0) | 2019.01.29 |
[백준] 10157번: 자리배정 (C++ 풀이) (0) | 2019.01.29 |