[백준 문제] 15649번 N과 M(1) 재귀함수 사용 (파이썬)
[백준 문제] 15649번 N과 M(1) 재귀함수 사용 (파이썬)
- 모든 케이스의 경우를 재귀함수로 a라는 리스트에 채우는 식으로 문제를 푼다.
n,m = map(int,input().split())
check = [False]*(n+1)
a = [0]*m
def go(index, n, m):
if index == m:
for i in range(m):
print (a[i], end = ' ')
print()
return
for i in range(1, n+1):
if check[i] is True:
continue
check[i] = True
a[index] = i
go(index+1, n, m)
check[i] = False
go(0,n,m)
5 2
1 2
1 3
1 4
1 5
2 1
2 3
2 4
2 5
3 1
3 2
3 4
3 5
4 1
4 2
4 3
4 5
5 1
5 2
5 3
5 4