[Brute Force]Boj 15652:NおよびM(4)
1279 ワード
[Brute Force]Boj 15652:NおよびM(4)
link: https://www.acmicpc.net/problem/15652
質問する
自然数NとMが与えられた場合、以下の条件を満たすすべての長さMの数列を解くプログラムを作成します.1からNまで、自然水中からM個の数列 を選ぶ.などの数字を複数回選択できます. の数列を選択するには、降雨順に並べます. 長さKの数列AはA 1≦A 2≦...≤AK-1≤AKが満たされた場合、降雨順と呼ぶ 入力の第1行は、自然数NおよびMを与える.(1 ≤ M ≤ N ≤ 8) しゅつりょく行ごとに問題条件を満たす数列が出力されます.重複する数列は複数回出力できません.各数列はスペースで区切らなければなりません. 数列は、予めインクリメントされた順序で出力されるべきである. I/O例
Code
link: https://www.acmicpc.net/problem/15652
質問する
自然数NとMが与えられた場合、以下の条件を満たすすべての長さMの数列を解くプログラムを作成します.
Code
import sys
si = sys.stdin.readline
N,M = list(map(int,si().split()))
def rec(K,N,M,selected):
if K == M:
for x in selected:
print(x,end=" ")
print()
else:
if K == 0: start = 1
else: start = selected[K-1]
for cand in range(start,N+1):
selected[K] = cand
rec(K+1,N,M,selected)
selected = [0 for _ in range(M)]
rec(0,N,M,selected)
Code Screenshot & OutputReference
この問題について([Brute Force]Boj 15652:NおよびM(4)), 我々は、より多くの情報をここで見つけました https://velog.io/@kakasi18/Brute-Force-Boj15652-N과-M4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol