使用python實現(xiàn)三壺謎題的方法?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)伊美免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。這里的第一個數(shù)就代表著是那個8品脫的瓶子,依次分別是8品脫,5品脫,3品脫
就如同上圖一樣,使用層次遍歷一次一次遞歸擴(kuò)展新的結(jié)點,知道找到4品脫的水或者無結(jié)點可擴(kuò)展為止(類似于廣度優(yōu)先遍歷)。
節(jié)點包括兩個屬性,一個屬性是數(shù)組類型的,存儲當(dāng)前三個水壺的容量狀態(tài),另一個屬性是記錄它是由哪個結(jié)點擴(kuò)展過來的,以便找到解決路徑:
class node: # 創(chuàng)建樹節(jié)點 def __init__(self, data): self.data = data # 存儲三個壺的容量狀態(tài) self.per = None # 存儲上一時刻三個壺的容量狀態(tài)