728x90
반응형
import sys
input = sys.stdin.readline
# 1 ~ N 까지의 수 / 길이는 M
N, M = map(int, input().split())
def backTracking(depth, num):
if depth == M:
print(' '.join(num))
return
for i in range(1, N + 1):
backTracking(depth + 1, num + str(i))
backTracking(0, '')
백트래킹이라고 부르기도 좀 민망하긴 하다. 이전 N과 M 문제를 풀면서 올라왔다면 매우 쉽게 풀 것이다.
그냥 1 ~ N 까지의 수, M 길이를 가지는 모든 수열을 출력하면 된다.
visited를 사용할 필요도 없고 딱히 어떤 조건을 검사할 필요도 없다.
만들어진 모든 수열을 출력하면 되기 때문에, 최대 depth에 도착했을 때 바로 출력해 버리면 된다.
728x90
반응형
'Algorithm > BackTracking' 카테고리의 다른 글
[Baekjoon 15654 / Python / 실버3] N과 M (5) (0) | 2024.08.07 |
---|---|
[Baekjoon 15652 / Python / 실버3] N과 M (4) (0) | 2024.08.07 |
[Baekjoon 15650 / Python / 실버3] N과 M (2) (0) | 2024.08.07 |
[Baekjoon 2529 / Python / 실버1] 부등호 (0) | 2024.08.06 |
[Baekjoon 14650 / Java / 실버2] 걷다보니 신천역 삼 (Small) (0) | 2024.05.16 |