Details
Given a list of mahjong hands, print out all of the hands which are complete under the rules of Riichi Mahjong.
Mahjong tiles are divided into three suits of number tiles from 1 to 9, and seven honor tiles, which are not numbered. These are the Unicode characters representing the tiles in each suit, from 1 to 9:
- Characters πππππππππ
- Bamboo πππππππππ
- Circles ππππππππ π‘
These are the Unicode characters representing honor tiles: ππππππ π
A triplet is a group of three identical tiles, e.g. πππ or π π π . A sequence is a group of three number tiles of the same suit and with consecutive numbers, e.g. πππ or πππ. A meld is either a triplet or a sequence. A pair is a group of two identical tiles.
A mahjong hand is complete if it consists of one of the following:
- Four melds and a pair.
- Seven distinct pairs. Four of the same tile do not count as two pairs.
- All seven honor tiles and the 1 and 9 of each suit, plus one duplicate tile that forms a pair.
The tiles in a mahjong hand are not ordered. For example, the hand ππππππππππππππ is complete, as it can be split into the groups πππ πππ πππ πππ ππ. You may assume that no hand contains more than 4 of a single tile.
The input consists of a sequence of arguments, each containing a string of 14 Unicode characters which represent the tiles in the hand. Output the arguments that represent complete mahjong hands, in the same order as they appear in the argument list.
External links: Wikipedia