Poker, genellikle turnuvalarda zorlanan fişlerinizi nasıl düzenlediğiniz konusunda görgü kurallarına sahiptir - fişleriniz çoğunlukla büyük mezhep fiş (ler) ini gizlememek için rakiplerinizin arkasından “gizli” olmayabilir.
Meydan okuma
ASCII'de poker oynayacağız, bu yüzden toplam değeri göz önüne alındığında ASCII çip yığını düzenlememizi çizecek bir işlev veya program yazmamız gerekiyor n
.
Giriş
- Pozitif bir tamsayı, n
(en fazla 2**32-1
ele alınmalıdır)
Çıktı
- Aşağıda tanımlanan yığın düzenlemesinin ASCII gösterimi.
Bu, en uzun (en alt) satırda yazdırılabilir karakterler tarafından kullanılan uzunluktan bir satırdan daha uzun olmayacak şekilde her satırın sağında beyaz boşluk içerebilir;
Bu, takip eden yeni bir satır içerebilir; ve
İsterseniz çipleri temsil eden karakterler küçük harfle yazılabilir.
Yığın düzenlemesi:
- Mezhepler göz önüne alındığında mümkün olan en az yonga içerir (aşağıya bakınız);
- "Yığınlar" (sütunlar) eşit değerli yongaları olacak;
- Daha kısa yığınlar daha uzun yığınların sağında olacak şekilde sipariş edilmelidir; ve
- Daha büyük mezhep yongalarına sahip yığınlar, eşit büyüklükteki düşük mezhep yığınlarının sağında olacak şekilde sıralanmalıdır (sağ taraftaki rakip (lerimiz) tarafından görülebilir olduklarını gösterir)
Fişleri, renklerini tanımlayan tek tek karakterler olarak temsil edilmelidir:
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
Misal
En n = 276,352
az sayıda yonga için:
2 * 100K + 3 * 25K + 1 * 1K + 3 * 100 + 2 * 25 + 2 * 1
MM CCC P BBB GG WW
Tek P
sağında, devam etmeli
, sonra büyüklükte üç yığınlarının 2
sonraki gitmek gerekir,
- ancak MM
, sağ tarafta uzak gitmek gerekir GG
sonra ve WW
yana 100K > 25 > 1
daha sonra boyut iki yığınlarının 3
solda halindeyken,
- ancak CCC
zorunluluk o BBB
zamandan beri sağa git25K > 100
Şimdi çıktımızı yapmak için bu yongaları gerçek yığınlara yerleştirmeliyiz:
BC
BCWGM
BCWGMP
Test Durumları
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
Bu kod golf , bayt en kısa kod kazanır. Boşluk yok, yada yada, matkabı biliyorsun.
2**31-1
, yoksa niyetiniz çoğu imzalı int
türden daha mı büyük ?
2**32-1
bir test vakası, ama bunu düşürmeye hazırım. (İlginç gerçek: PokerStars'ın 25B
görüntü klasöründe bir çip var.)