C 프로그래밍/공부하자 김소
-
나의 메모들 수원 가면서 봐라C 프로그래밍/공부하자 김소 2022. 12. 14. 21:07
테케 안나오면 단계별로 다 찍어보면서 디버깅 해라. 찾아 진다. 겁먹지 말것 1. DFS 1. 가지치기 어디서 할 것인지 생각하자. 보통 depth에 대한 가지치기는 모든 조건 확인한 후 해준다. (왜냐하면 맨 마지막꺼 고르고 돌아와서 조건문 확인하는 경우에는 n == depth가 된 상태임) 2. DFS 다녀와서 플래그 원복 해주는 경우는 "모든 경로를 탐색해야 할 때" 이다. 즉 방문했던 노드를 재방문해야 하는 경우이다. 플래그 원복해주지 않는 경우는 모든 노드를 방문해야 할 때 이다. // 조합 배열로 구현 #include int N, M; int choice[8 + 2]; void DFS(int n, int s) { if (n == M) { for (int i = 0; i < M; i++) pri..