No.832 麻雀修行中
タグ : / 解いたユーザー数 102
作問者 : bellangeldindon / テスター : 37zigen
問題文
マホちゃんは麻雀が大好きです。
しかしマホちゃんは永遠の初心者なので、1日に1回は必ずチョンボをしてしまいます。
今日は折角テンパイしたチンイツのツモ牌を捨ててしまい、フリテンチョンボをしてしまいました。
これ以上麻雀で負けたくないマホちゃんは、与えられたチンイツのテンパイ形(残り1つの牌であがることのできる形)のあがり牌が何になるかを調べるプログラムを作ることにしました。
マホちゃんをもっと強くするため、プログラムの作成を手伝ってあげてください。
【解答に必要な麻雀ルール説明】
・実際の麻雀では34種136個の牌を使いますが、この問題では9種36個の牌のみ使うことにします。これらの牌には1以上9以下の数字が書かれています。
・麻雀では、自分で持ってきた牌かほかの人が捨てた牌で次のいずれかの形を作れるときに「あがり」となります。
1) AA BBB CCC DDD EEE
(AA→同じ2つの牌、BBB~EEE→同じ3つの牌、もしくは数字が連続する3つの牌)
例えば、11 234 345 666 789はあがりの一つです。
2) FF GG HH II JJ KK LL
(FF~LL→それぞれ同じ2つの牌、ただしF~Lは互いに異なっていなければならない)
OK→ 11 33 44 66 77 88 99
NG→ 11 11 33 44 77 88 99
・9→1は連続する数字とは見なしません。
例えば、444 555 666 77 891 はあがり形ではありません。
・麻雀牌のセットに入っている同一の牌は4枚だけです。
したがって、111 222 333 3 444のような手牌では一見3があがり牌に見えますが、3の牌は自分で4枚使っているため、あがり牌とは見なしません。
入力
$S$
$S$は1以上9以下の数字からなる13文字の文字列で、必ずテンパイ形(残り1つの牌であがることのできる形)になっており、同じ数字の個数は4個以下である。
出力
与えられたテンパイ形のあがり牌を示す数字を1行に1つずつ、昇順に列挙してください。
最後に改行してください。
サンプル
サンプル1
入力
1112223334478
出力
6 9
6か9の牌を持ってくると数字3連続のセットが完成し、あがることができます。
サンプル2
入力
1122334455779
出力
9
9の牌を持ってくれば、ルール説明の「あがり条件2」(七対子・チートイツといいます)を満たすのであがれます。
サンプル3
入力
1112223333444
出力
1 2 4 5
先述した通り、3の牌は自分ですべて使っているので、あがり牌とは見なしません。
サンプル4
入力
1113344778899
出力
3 4
4枚使いの七対子形ではあがれないため、1はあがり牌とは見なしません。これは上がり条件2の「F、I、J、K、Lが互いに異なる」という条件に反しているからです。
サンプル5
入力
1112345678999
出力
1 2 3 4 5 6 7 8 9
「純正九蓮宝燈・チューレンポウトウ」と呼ばれるテンパイ形で、どの牌でもあがれます。
サンプル6
入力
4232724138131
出力
6 9
サンプルケース1と同一の手牌ですが、このような並べ替え前のデータが入力として与えられることもあります。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。