Наступні заходи щодо цієї проблеми
Враховуючи набір змішаних кісток, виведіть розподіл частот прокатки всіх їх і підсумовуйте прокатні числа на кожній штампі.
Наприклад, розглянемо 1d12 + 1d8
(кочення 1 12-сторонній штамб та 1 8-сторонній штамб). Максимальні і мінімальні рулони 20
і 2
, відповідно, який схожий на прокатки 2d10
(2-10 кубика). Однак це 1d12 + 1d8
призводить до більш рівного розподілу ніж 2d10
: [1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1]
проти [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
.
Правила
- Частоти повинні бути перераховані в порядку збільшення кількості, якій відповідає частота.
- Позначення частот відповідними сумами дозволено, але не потрібно (оскільки суми можна зробити з необхідного порядку).
- Вам не доведеться обробляти вхідні дані, коли вихід перевищує представлений діапазон цілих чисел для вашої мови.
- Провідні або кінцеві нулі не дозволяються. У висновку повинні з'являтися тільки позитивні частоти.
- Ви можете взяти дані у будь-якому розумному форматі (список кубиків (
[6, 8, 8]
), список пар кісток ([[1, 6], [2, 8]]
) тощо). - Частоти повинні бути нормалізовані так, щоб GCD частот був 1 (наприклад,
[1, 2, 3, 2, 1]
замість[2, 4, 6, 4, 2]
). - Усі кубики матимуть принаймні одне обличчя (так
d1
що мінімум). - Це код-гольф , тому найкоротший код (у байтах) виграє. Стандартні лазівки заборонені, як зазвичай.
Випробування
Ці тестові випадки даються як input: output
, де введення подається у вигляді списку пар, що [a, b]
представляють a
b
сторонні кістки (так це [3, 8]
стосується 3d8
і [[1, 12], [1, 8]]
посилається на 1d12 + 1d8
).
[[2, 10]]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[[1, 1], [1, 9]]: [1, 1, 1, 1, 1, 1, 1, 1, 1]
[[1, 12], [1, 8]]: [1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1]
[[2, 4], [3, 6]]: [1, 5, 15, 35, 68, 116, 177, 245, 311, 363, 392, 392, 363, 311, 245, 177, 116, 68, 35, 15, 5, 1]
[[1, 3], [2, 13]]: [1, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 37, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3, 1]
[[1, 4], [2, 8], [2, 20]]: [1, 5, 15, 35, 69, 121, 195, 295, 423, 579, 761, 965, 1187, 1423, 1669, 1921, 2176, 2432, 2688, 2944, 3198, 3446, 3682, 3898, 4086, 4238, 4346, 4402, 4402, 4346, 4238, 4086, 3898, 3682, 3446, 3198, 2944, 2688, 2432, 2176, 1921, 1669, 1423, 1187, 965, 761, 579, 423, 295, 195, 121, 69, 35, 15, 5, 1]
[[1, 10], [1, 12], [1, 20], [1, 50]]: [1, 4, 10, 20, 35, 56, 84, 120, 165, 220, 285, 360, 444, 536, 635, 740, 850, 964, 1081, 1200, 1319, 1436, 1550, 1660, 1765, 1864, 1956, 2040, 2115, 2180, 2235, 2280, 2316, 2344, 2365, 2380, 2390, 2396, 2399, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2399, 2396, 2390, 2380, 2365, 2344, 2316, 2280, 2235, 2180, 2115, 2040, 1956, 1864, 1765, 1660, 1550, 1436, 1319, 1200, 1081, 964, 850, 740, 635, 536, 444, 360, 285, 220, 165, 120, 84, 56, 35, 20, 10, 4, 1]