ポーカーには、多くの場合トーナメントで強制される、チップの配置方法に関するエチケットがあります-チップは、主にいくつかの大きな金種のチップを隠さないために、他者の後ろにいることによって対戦相手から「隠されない」ことがあります。
チャレンジ
ASCIIでポーカーをプレイするので、合計値を考慮してASCIIチップスタック配置を描画する関数またはプログラムを作成する必要があります。 n
。
入力
-正の整数n
(最大2**32-1
処理必要があります)
出力
-以下に定義されているスタック配置のASCII表現。
これには、各行の右側に空白が含まれている可能性があるため、最長(下)行の印刷可能文字が使用する長さよりも1文字長い行はありません。
これには、単一の末尾の改行が含まれる場合があります。そして
あなたが好む場合はチップを表す文字は小文字であってもよいです。
スタックの配置は次のとおりです。
- 宗派を考慮して、可能な限り少ないチップを含む(以下を参照)。
- 「スタック」(列)に等しい価値のあるチップがあります。
- 短いスタックが高いスタックの右側になるように注文してください。そして
- より大きな金種チップを持つスタックが、より小さな金種の同じサイズのスタックの右側になるように注文します(右側の敵に見えることを表します)
チップ自体は、色を識別する個々の文字として表されます。
White : 1 = W
Red : 5 = R
Green : 25 = G
Black : 100 = B
Yellow : 500 = Y
Pink : 1K = P
Orange : 5K = O
Cyan : 25K = C
Magenta : 100K = M
Aqua-blue : 500K = A
Lavender : 1M = L
Indigo : 5M = I
Turquoise : 25M = T
Violet : 100M = V
Silver : 500M = S
例
用n = 276,352
チップの最小数は次のようになります。
2 * 100K + 3 * 25K + 1 * 1K + 3 * 100 + 2 * 25 + 2 * 1
MM CCC P BBB GG WW
シングルP
は右端に移動し、
次にサイズの3つのスタックが2
次に移動
するMM
必要があります-しかし、最も右に移動し、GG
その後に続いてWW
、100K > 25 > 1
その後サイズの2つのスタックが3
左に移動
するCCC
必要がありますが、BBB
以来の右側に行く25K > 100
次に、これらのチップを実際のスタックに配置して、出力を作成する必要があります。
BC
BCWGM
BCWGMP
テストケース
Input:
1
Output:
W
Input:
9378278
Output:
L
LWGPCM
LWGPCMB
LWGPCMBI
Input:
22222222
Output:
ROI
ROI
ROIWBPML
ROIWBPML
Input:
1342185143
Output:
WRCIV
WRCIVOLS
WRCIVOLSGBMT
Input:
2147483647
Output:
RMIS
RMISPC
RMISPCWL
RMISPCWLGBYOTV
Input:
4294967295
Output:
S
S
S
S
SRML
SRMLGOIT
SRMLGOITBPCV
SRMLGOITBPCVA
これはcode-golfであるため、バイト単位の最短コードが優先されます。抜け穴はありません、矢田矢田、あなたはドリルを知っています。
2**31-1
ほとんどの署名されたint
タイプよりも大きくするつもりですか?
2**32-1
、テストケースですが、これを引き下げても構いません。(興味深い事実:PokerStarsの25B
画像フォルダーにはチップがあります。)