백트래킹은 순열/조합/중복순열/중복조합 을 사용하는 경우가 많은데,
이 문제의 경우, "조합" 문제이다.
1,2,3,4,5,6 중 1,4,5가 같은 팀이 된다는 것은 1,4,5 / 1,5,4, / 4,5,1 / 5,4,1 ... 모두 같은 것을 의미한다.
따라서 dfs() 재귀함수를 호출할 때, 이전에 선택한 숫자의 다음 숫자부터 선택하도록 구현해야한다.
이를 start라는 매개변수로 두었고, for문 안에서 0부터가 아닌 start부터 탐색한다!
이를 처리해주지 않아 시간초과가 났었다.
백준 1922: 네트워크 연결 (0) | 2023.09.02 |
---|---|
백준 2110: 공유기 설치 (Binary Search / with Swift) (0) | 2023.09.02 |
백준 1789: 수들의 합 (Greedy / with Swift) (0) | 2023.09.01 |
백준 1010: 다리 놓기 (DP / with Swift) (0) | 2023.08.31 |
백준 11053: 가장 긴 증가하는 부분 수열 (DP / with Swift) (0) | 2023.08.29 |