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-1harus 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,352jumlah chip terkecil adalah:
2 * 100K + 3 * 25K + 1 * 1K + 3 * 100 + 2 * 25 + 2 * 1
MM CCC P BBB GG WW
Satu Pharus pergi di paling kanan,
maka tiga tumpukan ukuran 2harus pergi berikutnya,
- tetapi MMharus pergi terjauh ke kanan diikuti oleh GGdan kemudian WWsejak 100K > 25 > 1
itu dua tumpukan ukuran 3pergi ke kiri,
- tetapi CCCharus pergi ke kanan BBBsejak 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 inttipe yang ditandatangani ?
2**32-1adalah ujian, tapi saya bersedia menurunkannya. (Fakta menarik: PokerStars memiliki 25Bchip di folder gambar mereka.)