Dünya bilardo şampiyonasını izliyordum ve merak ettim ..
Snooker puanlaması
Snooker oyununda da uymanız gereken bazı kurallar vardır:
- Masanın üzerinde kırmızı toplar olduğunda, sıra sende önce kırmızı bir top
- Her kırmızı topu sakladıktan sonra, renkli (kırmızı olmayan) bir topu saklamanız gerekir (saksı renkli top daha sonra masaya yerleştirilir)
- Tüm kırmızı toplar kaldıktan sonra (15 tane var) önce renkli bir top seçebilir ve daha sonra en düşük puanlama topuyla başlayıp en yüksek puanlama topuna kadar çalışabilirsiniz (bunlar değiştirilmez)
- Hiçbir noktada çömlek atmamak sıranızı sonlandırır.
- Top başına puan
- Kırmızı Top: 1 puan
- Sarı top: 2 puan
- Yeşil top: 3 puan
- Kahverengi top: 4 puan
- Mavi top: 5 puan
- Pembe top: 6 puan
- Siyah top: 7 puan
Soru
- Bununla hala tüm topları içeren bir tablo ile başlar 15 kırmızı ve biri diğer renkli topları her birinin - ve ilk turda sonra snooker bir oyuncunun puanı verilir, bu elde ettik ki yolları nelerdir Puan?
Girdi 1 ile 147 arasında bir puan olacaktır. Tam sayı mı yoksa dize mi olacağını seçebilirsiniz. Çıktı, her bir topu kaç kez sakladığınızın farklı kombinasyonları olmalıdır.
Test senaryoları:
Input: 4
Output:
1r 1g
2r 1y
Input: 25
Output:
4r 3b
5r 2b 1br 1y
5r 2b 2g
...
9r 8y
Kurallar:
- Olasılıkların yeni bir satıra mı yoksa bir tür ayırıcıya mı bölüneceğini (/ ,; | \ veya hatta kaçırdığım başkaları) seçebilirsiniz
Bu kodgolf, bu yüzden en kısa kod kazanıyor.
"5r 3b 2g"çıktı alınabilir [5,0,2,0,3,0,0]mi?
bkahverengi ve blmavi için; böylece bksiyah için? Kullandığımız Could n, eve k(son harf) bu üçü için? dlerunaSekiz rengi de (her birinin 3. harfi) tanımlamaya ne dersiniz ?