1번 문제.
https://www.acmicpc.net/problem/15649
-> N과 M(1)
import sys
from itertools import permutations
# 순열을 이용하면 쉽게 해결할 수 있다.
n, m = map(int, sys.stdin.readline().rstrip().split())
nums = [i for i in range(1, n+1)]
for a in list(permutations(nums, m)):
print(*a)
=======================================================
2번 문제.
https://www.acmicpc.net/problem/15650
-> N과 M(2)
import sys
from itertools import combinations
# 조합을 이용해서 풀면 쉽게 풀린다.
n, m = map(int, sys.stdin.readline().rstrip().split())
nums = [i for i in range(1, n+1)]
for a in list(combinations(nums, m)):
print(*a)
=======================================================
이 문제가 알고리즘에서 백트래킹 문제이기도 하므로, 백트레킹을 이용해서 이 문제를 풀어보는것도 좋은 방법이다.