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-1ele 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,352az sayıda yonga için:
2 * 100K + 3 * 25K + 1 * 1K + 3 * 100 + 2 * 25 + 2 * 1
MM CCC P BBB GG WW
Tek Psağında, devam etmeli
, sonra büyüklükte üç yığınlarının 2sonraki gitmek gerekir,
- ancak MM, sağ tarafta uzak gitmek gerekir GGsonra ve WWyana 100K > 25 > 1
daha sonra boyut iki yığınlarının 3solda halindeyken,
- ancak CCCzorunluluk o BBBzamandan 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ı inttürden daha mı büyük ?
2**32-1bir test vakası, ama bunu düşürmeye hazırım. (İlginç gerçek: PokerStars'ın 25Bgörüntü klasöründe bir çip var.)