ローカルセットを求める
4018 ワード
作成日:2022年1月29日午後6:18
DFSの概念は,下向きに探索する形態である. 1からnまでの数に応じてそれぞれ出力するか出力しないかによって、ツリーが2方向に構成されている. 出力するかどうかはn+1サイズの配列(0番目のインデックスは使いやすいX)であり、この数がインデックス番号であり、値が0が出力x、1が出力oの構造であると仮定する.
インプリメンテーションコード
# 부분집합 구하기 (DFS)
import sys
sys.stdin = open("input.txt" ,"rt")
def subset(index):
if index == n+1:
for i in range(1, n+1):
if ch[i] == 1:
print(i, end=' ')
print()
else:
ch[index] = 1
subset(index+1)
ch[index] = 0
subset(index+1)
if __name__ == "__main__":
n = int(input())
ch = [0]*(n+1) # 0번째 인덱스는 사용 X
subset(1)
説明:
Reference
この問題について(ローカルセットを求める), 我々は、より多くの情報をここで見つけました https://velog.io/@lsj8706/부분집합-구하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol