Algorithm/Python
                
              052 - 조합 구하기
                unsungIT
                 2023. 8. 29. 19:47
              
                          
            1부터N까지번호가적힌구슬이있습니다.이중 M개를뽑는방법의수를출력하는프로그 램을 작성하세요.
▣ 입력설명
첫 번째 줄에 자연수 N(3<=N<=10)과 M(2<=M<=N) 이 주어집니다. 
▣ 출력설명
첫 번째 줄에 결과를 출력합니다. 맨 마지막 총 경우의 수를 출력합니다. 출력순서는 사전순으로 오름차순으로 출력합니다. 
▣ 입력예제 1
4 2
▣ 출력예제 1
1 2
1 3
1 4 
2 3
2 4
3 4
6
#import sys
#sys.stdin = open('in.txt', 'rt')
def DFS(L, s):
    global cnt
    if L == m:
        cnt += 1
        print(*res)
        return
    else:
        for i in range(s, n+1):
            res[L] = i
            DFS(L+1, i+1)
if __name__ == '__main__':
    n, m = map(int, input().split())
    res = [0]*m
    cnt = 0
    DFS(0, 1)
    print(cnt)