[백준/BOJ] - 14889번 python 풀이 - backtracking
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 백트래킹 조합문제를 풀 땐 1. 가지치기의 기준을 어떻게 할 것인가. 2. 조합은 순열과는 다르게 순서가 의미가 없으므로 재귀함수를 반복할 때 변수 뽑는 것을 어떻게 처리해 줄 것인가 이 정도가 중요하다. 아래 코드에선 depth 즉, 몇개를 뽑았는지의 지표 변수가 주어진 n의 절반 만큼 뽑았을 경우를 기준으로 가지치기를 해줬다. 뽑은 변수는 매번 방문처리를 해주었기에 2중 for문을 돌리며 각 for문의 변수인 i,..
2023. 7. 2.