Files

63 lines
4.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: 5900f4b31000cf542c50ffc6
title: 'Завдання 327: Кімнати Страху'
challengeType: 5
forumTopicId: 301984
dashedName: problem-327-rooms-of-doom
---
# --description--
Три кімнати поєднані між собою автоматичними дверима.
<img class="img-responsive center-block" alt="три кімнати, поєднані між собою автоматичними дверима" src="https://cdn.freecodecamp.org/curriculum/project-euler/rooms-of-doom.gif" style="background-color: white; padding: 10px;" />
Кожні двері керуються карткою доступу. Щойно ви заходите в кімнату, двері автоматично зачиняються, і картка доступу не може бути використана знову. На старті автомат видає необмежену кількість карт, але в кожній кімнаті (включаючи стартову кімнату) є сканери. Якщо вони виявляють, що ви маєте більш ніж три картки, або якщо сканери помітять картку доступу на підлозі, всі двері зачиняться назавжди. Проте, у кожній кімнаті містяться поля, де можна безпечно зберігати будь-яку кількість карт безпеки, що можуть бути використані пізніше.
Якби ви спробували пройти всі кімнати по черзі, то, увійшовши в кімнату 3, ви б використали усі три картки і опинилися б у пастці назавжди!
Однак, якщо ви будете використовувати коробки для зберігання, то втеча буде можливою. Наприклад, ви можете увійти в кімнату 1, використовуючи першу карту, розмістити одну картку в коробці для зберігання та використати вашу третю картку для того, щоб вийти з кімнати на старт. Потім, після того, як візьмете ще три картки з автомату, ви зможете використати одну для входу в кімнату 1 і забрати картку, яку ви поклали в поле зберігання кілька хвилин тому. Тепер у вас знову є три картки і ви зможете пройти крізь наступні двері. Цей спосіб дозволяє вам пройти всі три кімнати, використавши шість карток доступу.
Можна пройти 6 кімнат, використавши загалом 123 картки безпеки, при тому, що при собі можна мати максимум 3.
Нехай $C$ буде максимальною кількістю карт, що можна мати при собі в будь-який час.
Нехай $R$ буде кількістю кімнат, через які потрібно пройти.
Нехай $M(C, R)$ буде мінімальною кількістю карток, що необхідно взяти в автоматі, щоб пройти $R$ кімнат, при можливості мати при собі $C$ карток.
Наприклад, $M(3, 6) = 123$ та $M(4, 6) = 23$.
І $\sum M(C, 6) = 146$ за $3 ≤ C ≤ 4$.
Бачите, що $\sum M(C, 10) = 10382$ за $3 ≤ C ≤ 10$.
Знайдіть $\sum M(C, 30)$ за $3 і ≤ C ≤ 40$.
# --hints--
`roomsOfDoom()` має повернути `34315549139516`.
```js
assert.strictEqual(roomsOfDoom(), 34315549139516);
```
# --seed--
## --seed-contents--
```js
function roomsOfDoom() {
return true;
}
roomsOfDoom();
```
# --solutions--
```js
// solution required
```