|
์ฝ๋ ์์ฑํ๊ธฐ
n,m = map(int, input().split())
checked = [False] * (n+1)
nums = []
def dfs(start):
if len(nums) == m:
print(*nums)
return
for i in range(start, n+1):
if not checked[i]:
checked[i] = True
nums.append(i)
dfs(i+1)
checked[i] = False
nums.pop()
dfs(1)
Python
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
โข
15649 n๊ณผ m (1) ๋ฌธ์ ์์ ์กฐ๊ธ ๋ณํ๋ ๋ฌธ์ ์ด๋ค.
โข
1๋ถํฐ n๊น์ง์ ์์ฐ์ ์ค, ์ค๋ณต์์ด m๊ฐ๋ฅผ ์ถ๋ ฅํด์ฃผ์ด์ผ ํ๋ฏ๋ก, start ๋ณ์๋ฅผ ํ์ฉํด์ค๋ค.
โข
start ~ n ๊น์ง์ ์ซ์๋ฅผ ์ฌ์ฉํด์ค์ผ๋ก์จ, ์์ ์ซ์๊ฐ ๋ค์ ์ซ์๋ณด๋ค ํฌ์ง ์๋๋ก ํ๋ค.