[백준 문제] 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 





© 2018. by statssy

Powered by statssy