[Brute Force]Boj 15651:NおよびM(3)

1151 ワード

[Brute Force]Boj 15651:NおよびM(3)
Link: https://www.acmicpc.net/problem/15651
問題の説明
自然数NとMが与えられた場合、以下の条件を満たすすべての長さMの数列を解くプログラムを作成します.
  • 1からNまで、自然水中からM個の数列
  • を選ぶ.
  • などの数字を複数回選択できます.
  • 入力
    第1行は自然数NとMを与える.(1 ≤ M ≤ N ≤ 7)
    しゅつりょく
    各行に問題条件を満たす数列を出力します.重複する数列は複数回出力できません.各数列はスペースで区切らなければなりません.
    数列は予め増加した順序で出力しなければならない.
    サンプルI/O


    Code | Python
    import sys
    si = sys.stdin.readline
    N,M = list(map(int,si().split()))
    
    def rec(K,M,N,selected):
    	if K == M:
    		for x in selected:
    			print(x,end= " ")
    		print()
    	else:
    		for cand in range(1,N+1):
    			selected[K] = cand
    			rec(K+1,M,N,selected)
    
    selected = [0 for _ in range(M)]
    rec(0,M,N,selected)
    Screen Shot & Output