import sys
sys.stdin = open("input.txt", "r")
def DFS(x):
if x>0:
# print(x) # 3 2 1
DFS(x-1)
print(x, end=' ') # 1 2 3
if __name__== "__main__":
n = int(input())
DFS(n
순서대로 1, D(1), D(2), D(3) 복귀 >> 위에서 부터 하나씩 pop 됨 D(1) 의 복귀주소 > D(2) > D(3) , So output = 1 2 3
import sys
sys.stdin = open("input.txt", "r")
def DFS(x): # x = 11 D(11) D(5) D(2) D(1) D(0)
if x == 0:
return # 함수를 종료 THE END
else:
print(x%2, end=' ') # 1 1 0 1
DFS(x//2) # 5 D(5) D(2) D(1) D(0)
if __name__ == "__main__":
n = int(input())
DFS(n)
________________________________________________________________________________
def DFS(x): # x = 11 D(1) D(5) D(2) D(1) D(0)
if x == 0:
return # 함수를 종료 THE END
else:
DFS(x//2) # 5 D(1) D(2) D(1) D(0)
print(x%2, end=' ') # 1 0 1 1
if __name__ == "__main__":
n = int(input())
DFS(n)
전위: 부 왼 오 | 중위 : 왼 부 오 | 후위: 왼 오 부
import sys
sys.stdin = open("input.txt", "r")
def DFS(v):
if v == n+1:
for i in range(1, n+1)
if ch[i] == 1:
print(i, end=' ')
print()
else:
ch[v] = 1
DFS(v+1)
ch[v] = 0
DFS(v+1)
if __name__ == "__main__":
n = int(input())
ch = [0] * (n+1)
DFS(1)
합이 같은 부분집합 (DFS)
sum == total - sum