假設有 N 個不同密度、不同顏色的液體,密度由大至小,由低到高,疊在一個試管裡 (試管編號 0) ,形成顏色區隔明顯的層次。假設我們想將液體倒入另一個試管 (編號 1),倒的時候只能倒出最上層的液體,而且過程中只允許將密度小的液體倒在密度大的液體上方。假如還有多一個試管 (編號 2) 作為過渡的容器,請問依照規則將全部液體從試管 0 移到試管 1,並且保持原有的顏色順序?
假設輸入是一個字串 RGB,代表最底層的液體是 R,中間是 G,上層是 B,則傾倒的方式為
B:0->1
G:0->2
B:1->2
R:0->1
B:2->0
G:2->1
B:0->1
也就是先將 B 從試管 0 倒入試管 1,再將 G 從試管 0 倒入試管 2,然後將 B 從試管 1 倒入試管 2,依此繼續下去,最後試管 1 內就會從低到高依序是 RGB 的排列。
一個字串,長度不超過 8,其中包含的字元都不相同。
列出完整的步驟,每個步驟一行,每一行結尾要有換行字元 '\n'。
每個步驟的描述格式,開頭是一個字元,表示被倒出的液體種類,再來是冒號 :,接下來是原本的試管編號,然後顯示->,最後是將要倒入的試管編號。