麻將是起源於中國的一種牌戲,類似骨牌並且有許多花色。通常由四個人玩,輪番摸牌棄牌直到有人湊成四個面子 (三個一組的) 和一個雀頭 (兩張相同的)。在各地一副麻將的張數都不大相同,雖然來自美國和日本有許多種玩法,但通常為 136 張和 144 張牌。一副擁有 136 張牌的麻將包括:
筒子 (Dots) :以每張牌有圓圈而命名的,每個圓代表一個外圓內方的古銅幣 (Tong)。在這個問題中,一筒到九筒以 1T、2T、3T、4T、5T、6T、7T、8T、9T 代表。
索子 / 條子(Bams) :以每張牌有竹棒而命名的 (除了一索外),每根竹棒代表一串穿過一百個銅幣的繩子 (Suo)。在這個問題中,以 1S、2S、3S、4S、5S、6S、7S、8S、9S 代表。
萬子 (Craks) :以每張牌代表萬個銅幣而命名的 (Wan)。在這個問題中,以 1W、2W、3W、4W、5W、6W、7W、8W、9W 代表。
風牌 (Wind tiles) :東、南、西、北。在這個問題中,以 DONG、NAN、XI、BEI 代表。
三元牌 (Dragon tiles) :紅中、青發和白皮 (或白板)。Dragon tile 這個詞是 Joseph Park Babcock 在 1920 年出版的書中向美國大眾介紹麻將。最初這些牌的起源與中國科舉 (Chinese Imperial Examination) 相關,紅中意味著你能通過科舉而被任官,青發代表之後家境就會富裕而白皮代表應該作為一個清廉的官員。在這個問題中,以 ZHONG、FA、BAI 代表。
因此現在有 9*3+4+3=34 種牌,每種牌有 4 個,所以總共為 136 張牌。而 144 張麻將還會包括:
花牌 (Flower tiles) :
是一組可自由選擇的牌,每張上面畫著不同的圖。在這問題中我們不考慮這 8 張牌。
麻將是非常複雜的,然而我們幾乎不需要去知道其中的規則就能解決這個問題。面子 (meld) 是將數張牌湊成一組的方法,這裡有三種面子你必須知道 (給已經知道麻將的人:不考慮槓子 (Kong) 的情況)。
刻子 (Pong) :三張相同的牌組成的面子。例如:、。
順子 (Chow) :三張數字連續的牌組成的面子,但這三張牌必須相同花色,且多於三張牌連續是不能組成同一順子的 (除非可以組成一個以上的順子)。顯然地,風牌和三元牌不能組成順子。例如:、。
雀頭 (Eye,或稱將、眼) :有一對相同的牌所組成,然而這種不算是一種面子,通常是最後標準牌型的構成要素。
一位玩家要贏得此牌局需要創作一套標準牌型 (standard mahjong hand),這意味著你的手牌必須由一個雀頭以及數個順子和刻子所組成,但請注意每張牌只能算在雀頭、順子或刻子其中一種。
當手牌只差一張就可以勝利時,這時稱為聽牌 (ready hand),「on the pot」為象徵的說法。當玩家聽牌時代表他正在聽某張牌,例如:
就在聽、和三張牌。
(譯者註:應該沒有人不會打台灣麻將吧?不懂的去咕狗一下吧……被打)
給知道麻將更多的人:不用考慮如「七對子」等特殊胡牌型。
輸入
輸入最多有 50 筆測資。每組測資只有單獨一行包含 13 張牌,所有測資皆為合法的 (沒有不合法的牌,並且恰好都是 13 張)。最後一筆測資以一個零作為結束,此筆輸入不需處理。
輸出
對於每組測資,印出處理的第幾筆資料和所聽的牌。聽牌需依照 1T ~ 9T、1S ~ 9S、1W ~ 9W、DONG、NAN、XI、BEI、ZHONG、FA、BAI 印出,每張聽牌只會出現一次。如果牌組尚未聽牌,則印出不帶引號的「Not ready」。
範例輸入
|
|
範例輸出
|
|