Poker memiliki etiket dalam cara Anda mengatur chip Anda, sering kali diberlakukan di turnamen - chip Anda mungkin tidak "disembunyikan" dari lawan Anda dengan berada di belakang yang lain, kebanyakan untuk tidak menyembunyikan beberapa chip denominasi besar.
Tantangan
Kami akan bermain poker di ASCII, jadi kami perlu menulis fungsi atau program yang akan menarik susunan chip ASCII kami dengan nilai totalnya n
,.
Input
- Bilangan bulat positif, n
(hingga 2**32-1
harus ditangani)
Output
- Representasi ASCII dari pengaturan stack seperti yang didefinisikan di bawah ini.
Ini mungkin berisi spasi putih di sebelah kanan setiap baris sehingga tidak ada garis yang lebih panjang dari satu karakter lebih dari panjang yang digunakan oleh karakter yang dapat dicetak dalam garis terpanjang (bawah);
Ini mungkin mengandung satu baris baru yang tertinggal; dan
Karakter yang mewakili chip mungkin dalam huruf kecil jika Anda mau.
Pengaturan tumpukan akan:
- Mengandung keripik sesedikit mungkin, mengingat denominasi (lihat di bawah);
- Akan memiliki chip bernilai sama di "tumpukan" (kolom);
- Diperintahkan sedemikian rupa sehingga tumpukan yang lebih pendek berada di sebelah kanan tumpukan yang lebih tinggi; dan
- Diperintahkan sedemikian rupa sehingga tumpukan dengan chip denominasi yang lebih besar akan berada di sebelah kanan tumpukan yang berukuran sama dari denominasi yang lebih rendah (menyatakan bahwa mereka dapat dilihat oleh lawan kami di sebelah kanan)
Chip itu sendiri harus direpresentasikan sebagai karakter individu yang mengidentifikasi warna mereka:
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
Contoh
Untuk n = 276,352
jumlah chip terkecil adalah:
2 * 100K + 3 * 25K + 1 * 1K + 3 * 100 + 2 * 25 + 2 * 1
MM CCC P BBB GG WW
Satu P
harus pergi di paling kanan,
maka tiga tumpukan ukuran 2
harus pergi berikutnya,
- tetapi MM
harus pergi terjauh ke kanan diikuti oleh GG
dan kemudian WW
sejak 100K > 25 > 1
itu dua tumpukan ukuran 3
pergi ke kiri,
- tetapi CCC
harus pergi ke kanan BBB
sejak saat itu25K > 100
Sekarang kita harus menempatkan chip ini ke tumpukan yang sebenarnya, untuk menghasilkan output:
BC
BCWGM
BCWGMP
Uji Kasus
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
Ini adalah kode-golf , jadi kode terpendek dalam byte menang. Tidak ada celah, yada yada, Anda tahu bornya.
2**31-1
, atau maksud Anda lebih besar dari kebanyakan int
tipe yang ditandatangani ?
2**32-1
adalah ujian, tapi saya bersedia menurunkannya. (Fakta menarik: PokerStars memiliki 25B
chip di folder gambar mereka.)