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





© 2018. by statssy

Powered by statssy