본문 바로가기

알고리즘 문제풀이/알고리즘 C++ 풀이

[백준] 15657번: N과 M (8) (C++ 풀이)

문제

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

 

결과