Files

3.6 KiB
Raw Permalink Blame History

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