
[알고리즘] 백트래킹

·
알고리즘
현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘📕 문제 1. N과 M (1)자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복없이 M개를 고른 수열- 해결 아이디어비어있는 리스트에서 시작해 수를 하나씩 추가하면서 길이가 M인 수열이 완성되면 출력 - e.g. N: 4, M: 2 == 1부터 4까지 자연수 중 중복없이 2개를 고른 수열import sysinput = sys.stdin.readlineN, M = map(int, input().split())answer = [0] * Mvisited = [False] * (N+1)def backtrack(k): # k번째 인덱스에 값을 넣는 함수 ..