Я смотрел чемпионат мира по снукеру, и это заставило меня задуматься ..
Снукер забил
В игре в снукер есть определенные правила, которых вы также должны придерживаться:
- Когда на столе есть красные шары, во время своего хода вы должны сначала забрать красный шар
- После того, как вы бросили каждый красный шар, вы должны забрать цветной (не красный) шар (затем цветной горшок затем ставится на стол)
- После того, как все красные шары подняты (их 15), вы можете сначала выбрать цветной шар, а затем начать с наименьшего забитого мяча и продвинуться до самого высокого забивающего мяча (они не заменяются)
- Не пот в любой точке заканчивается ваш ход.
- Очки за мяч
- Красный шар: 1 очко
- Желтый шар: 2 очка
- Зеленый шар: 3 очка
- Коричневый шар: 4 очка
- Синий шар: 5 баллов
- Розовый шар: 6 очков
- Черный шар: 7 очков
Вопрос
Вы начинаете со стола, в котором все шары по-прежнему на нем - 15 красных и по одному из всех других цветных шаров - и после первого хода вы получаете очки игрока в снукере, как они могли этого добиться? Гол?
Вводом будет счет от 1 до 147. Вы можете выбрать, является ли оно целым числом или строкой. Выходными данными должны быть различные комбинации количества раз, когда вы забили каждый мяч.
Тестовые случаи:
Input: 4
Output:
1r 1g
2r 1y
Input: 25
Output:
4r 3b
5r 2b 1br 1y
5r 2b 2g
...
9r 8y
Правила:
- Вы можете выбрать, выводить ли вы возможности, разделенные новой строкой или каким-либо разделителем (/ ,; | \ или другими, которые мне не хватает)
Это Codegolf, поэтому выигрывает самый короткий код.
"5r 3b 2g"
можно было бы вывести как [5,0,2,0,3,0,0]
(при условии, что это соответствует)?
b
для коричневого и bl
для синего; так bk
по черному? Можем ли мы использовать n
, e
и k
(последние буквы) для этих трех? Как насчет dleruna
идентификации всех восьми цветов (3-я буква каждого)?