Adventure Time - Finn 3
본문 바로가기
코테연습/python

중복순열 구하기

by hyun9_9 2026. 5. 14.

 1부터 N까지 번호가 적힌 구슬이 있습니다.

이 중 중복을 허락하여 M번을 뽑아 일렬로 나열 하는 방법을 모두 출력합니다.

▣입력설명 첫 번째 줄에 자연수 N(3<=N<=10)과 M(2<=M<=N) 이 주어집니다.

▣출력설명 첫 번째 줄에 결과를 출력합니다. 맨 마지막 총 경우의 수를 출력합니다.

출력순서는 사전순으로 오름차순으로 출력합니다.

▣입력예제 1 3 2

▣출력예제 1 1 1 1 2 1 3 2 1 2 2 2 3 3 1 3 2 3 3 9

import sys
# sys.stdin=open("input.txt","rt")
# n,m = map(int,input().split())
# n = int(input())
# arr = list(map(int,input().split()))

def DFS(v):
    global cnt
    if v ==m:
        for i in res:
            print(i,end=' ')
        print()
        cnt +=1
    else:
        for i in range(1,n+1):
            res[v] = i
            DFS(v+1)
        






if __name__ =="__main__":
    
    n,m = map(int,input().split())
    res = [0] * m
    cnt = 0
    DFS(0)
    print(cnt)

'코테연습 > python' 카테고리의 다른 글

순열 구하기  (0) 2026.05.17
동전교환  (0) 2026.05.16
합이 같은 부분집합(DFS : 아마존 인터뷰)  (0) 2026.05.13
부분집합 구하기(DFS)  (0) 2026.05.12
이진트리 순회(깊이우선탐색)  (0) 2026.05.11