[백준 문제] 15650번 N과 M(2) 재귀함수 사용 (파이썬)
[백준 문제] 15650번 N과 M(2) 재귀함수 사용 (파이썬)
- N과 M(1) 문제에서 start라는 변수를 넣고, 그 변수 이상만 나오게 하면 된다. 재귀함수 안에 i+1을 넣어주면 그 이상만 나오게 된다.
n,m = map(int,input().split())
check = [False]*(n+1)
a = [0]*m
def go(index, start, n, m):
if index == m:
for i in range(m):
print (a[i], end = ' ')
print()
return
for i in range(start, n+1):
if check[i]:
continue
check[i] = True
a[index] = i
go(index+1, i+1, n, m)
check[i] = False
go(0,1, n,m)
5 3
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5