3.6 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
5900f5431000cf542c510055 | Завдання 470: Супер Рамвок | 5 | 302146 | problem-470-super-ramvok |
--description--
Розглянему звичайну гру в Рамвок:
Нехай t
відображає максимальну кількість ходів до кінця гри. Якщо t = 0
, гра одразу закінчується. В іншому випадку, кожен хід i
, гравець викидає гральний кубик. Після цього, якщо i < гравець t
може зупинити гру та отримати виграш рівний значенню поточного кубика, або скасувати свій хід та спробувати знов у наступному. Якщо i = t
, хід не можна скасувати, виграш має бути прийнятий. Перед початком гри, t
обирається гравцем, який далі повинен передплатити ct
за сталу c
. Якщо c = 0
, t
може бути нескінченністю (тоді передплата буде дорівнювати 0). Нехай R(d, c)
буде очікуваним прибутком (тобто чистий прибуток) який гравець отримує за одну оптимально зіграну гру в Рамвок, використовуючи чесний $d$-бічний кубик із сталою ціною c
. Наприклад, R(4, 0.2) = 2.65
. Припустимо, що гравець має достатньо коштів для передплати будь-яких витрат.
Тепер розглянему гру у Супер Рамвок:
В грі Супер Рамвок, Рамвок грається кілька разів, але з невеликим доповненням. Після кожної гри гральний кубик змінюється. Зміна здійснюється таким чином: гральний кубик викидається один раз, і якщо на отриманому боці можна побачити його значення, це значення потрібно стерти. Якщо бік вже пустий, тоді треба повернути його початкове значення. Після зміни починається інша гра в Рамвок, під час якої гральний кубик викидається поки не з'явиться бік із позначенням. Гравець завжди знає які грані порожні. Гра в Супер Рамвок закінчується коли всі грані кубика залишаються порожніми.
Нехай S(d, c)
буде очікуваним прибутком, який гравець отримує від оптимально зіграної гри в Супер Рамвок, використовуючи чесний $d$-бічний кубик із сталою ціною c
. Наприклад, S(6, 1) = 208.3
.
Нехай F(n) = \sum_{4 ≤ d ≤ n} \sum_{0 ≤ c ≤ n} S(d, c)
.
Розрахуйте F(20)
, округлене до найближчого цілого числа.
--hints--
superRamvok()
повинна повернути 147668794
.
assert.strictEqual(superRamvok(), 147668794);
--seed--
--seed-contents--
function superRamvok() {
return true;
}
superRamvok();
--solutions--
// solution required