有5件不同的上衣,3條不同的褲子,4頂不同的帽子,從中取出一頂帽子、一件上衣和一條褲子作為一種搭配,問有多少種不同的搭配?
換個角度看,現有頭、身、腿三個元素,每個元素都有各自的幾種狀态。
頭元素有['帽1', '帽2', '帽3', '帽4']共4種狀态,身元素有['衣1', '衣2', '衣3', '衣4', '衣5']共5種狀态,腿元素有['褲1', '褲2', '褲3']共3種狀态
從頭開始,自上而下,周遊每個元素的所有狀态。
解的長度是固定的。
這裡特别注意:每個元素的狀态數目不同!!!
套用子集樹模闆即可
'''取物排列問題'''
n = 3 # 3個元素
a = [['帽1', '帽2', '帽3', '帽4'],
['衣1', '衣2', '衣3', '衣4', '衣5'],
['褲1', '褲2', '褲3']]
x = [0]*n # 一個解,長度固定,3元數組
X = [] # 一組解
def conflict(k):
def match(k): # 到達第k個元素
global n, a, x, X
match(0) # 從頭(第0個元素)開始
```
