โญ ์กฐํฉ ๊ตฌํ๊ธฐ์์ ์์ฉ๋์ด ๋ฌธ์ ๊ฐ ๋ง์ด ์ถ์ ๋๋ฏ๋ก ์ค์ํ ๋ถ๋ถ !!
def DFS(L, s):
global cnt
if L == m:
for x in result:
print(x, end=' ')
print()
cnt += 1
return
else:
for i in range(s, n+1):
result[L] = i
DFS(L+1, s+i) # ์ด ๋ถ๋ถ ํ๋ฆผ!
n, m = map(int, input().split())
result = [0]*m
cnt = 0
DFS(0, 1)
print(cnt)
์ฒ์์ ์์ฒ๋ผ ํ์๋๋ฐ ๋ช ๊ตฐ๋ฐ์์ wrong ์ด ๋ด๋ค.
DFS(L+1, s+i)
๊ฐ ์๋ชป๋์๋๋ฐ, ๊ฐ์ง์ +1์ ํด์ผํ๋ค.
def DFS(L, s):
global cnt
if L == m:
for j in range(m):
print(res[j], end=' ')
cnt += 1
print()
else:
for i in range(s, n+1):
res[L] = i
DFS(L+1, i+1) # ๊ฐ์ง์ +1์ ํด์ผํ๋ฏ๋ก i+1
n, m = map(int, input().split())
res = [0]*(n+1)
cnt = 0
DFS(0, 1)
print(cnt)
์ด๋ ๊ฒ!!
๋ง์ฝ s๊ฐ 2์ด๋ฉด ๊ฐ์ง๋ 2, 3, 4 ๋ง ์ฌ ์ ์๋ค. 1์ ์ค์ง ๋ชปํ๋ค.
์กฐํฉ ์ด๊ธฐ ๋๋ฌธ์ (1,3) ๊ณผ (3,1) ์ค์ ํ๋๋ง ๊ฐ๋ฅํ๋ค.