2
我正在尋找一種算法,以確定當前的麻將手是否是贏家。如果你不熟悉遊戲,這裏的基本思想(簡體):麻將贏牌手算法
- 有瓷磚的三套衣服,每個都包含瓷磚排名1-9。還有特殊的瓷磚,其中七種類型。每個瓷磚存在四份,因此每套西裝有36個瓷磚和28個特殊瓷磚。
- 一隻手中有14塊瓷磚。
- A chow是按順序排列的單排三個拼貼的集合。
- A pong是一組三個相同的瓷磚。
- A kong是一組四個相同的瓷磚。
- A 對是一組兩個相同的瓷磚。
- 勝利的手是瓦片形成任何數量的chows,pongs和/或kongs和一對。
這隻手按照西裝,然後按等級排序。我的想法是這樣的:
- 將所有瓷磚標記爲未訪問和不合作。
- 訪問第一個未訪問的瓷磚。
- 檢查後續的拼貼,直到遇到食物,乒乓球或者拳擊,或者直到沒有可能。如果組合完成,將所有參與的瓷磚標爲已訪問並獲獎
- 如果已訪問所有瓷磚,請檢查是否所有瓷磚都獲勝。如果不是所有瓷磚都已訪問過,請轉到2.
問題是,一旦瓷磚是組合的一部分,就不能成爲任何其他組合的成員,這可能會使得手成爲贏家。
工作算法的任何想法?
pong和kong是一樣的東西?你說他們都是「一組三塊相同的瓷磚」 – 2011-02-08 20:08:46