56 lines
4.3 KiB
Markdown
56 lines
4.3 KiB
Markdown
|
---
|
|||
|
id: 5900f4b31000cf542c50ffc6
|
|||
|
challengeType: 5
|
|||
|
title: 'Problem 327: Rooms of Doom'
|
|||
|
videoUrl: ''
|
|||
|
localeTitle: ''
|
|||
|
---
|
|||
|
|
|||
|
## Description
|
|||
|
<section id="description"> Ряд из трех комнат соединены друг с другом автоматическими дверями. <p> Каждая дверь управляется картой безопасности. Когда вы входите в комнату, дверь автоматически закрывается и эта карта безопасности не может быть использована снова. Машина с самого начала будет раздавать неограниченное количество карт, но каждая комната (включая стартовую) содержит сканеры, и если они обнаруживают, что у вас есть более трех карт безопасности или если они обнаруживают на полу автоматическую карту безопасности, все двери будут постоянно заперты. Тем не менее, каждая комната содержит коробку, в которой вы можете безопасно хранить любое количество карт безопасности для использования на более позднем этапе. </p><p> Если вы просто попытались проехать по комнатам по одному, а затем, когда вы вошли в комнату 3, вы бы использовали все три карты и были бы в ловушке в этой комнате навсегда! </p><p> Тем не менее, если вы используете ящики для хранения, то возможен выход. Например, вы можете войти в комнату 1 с помощью своей первой карты, поместить одну карту в ящик для хранения и использовать свою третью карту, чтобы выйти из комнаты до начала. Затем, собрав еще три карты из раздаточной машины, вы можете использовать ее для входа в комнату 1 и собрать карту, которую вы разместили в коробке минуту назад. Теперь у вас есть еще три карты и вы сможете проехать через оставшиеся три двери. Этот метод позволяет путешествовать по всем трем комнатам, используя в общей сложности шесть карт безопасности. </p><p> Можно путешествовать по шести комнатам, используя в общей сложности 123 карты безопасности, имея максимум 3 карты. </p><p> Пусть C - максимальное количество карточек, которые можно переносить в любое время. Пусть R - количество комнат для проезда. Пусть M (C, R) - минимальное количество карточек, требуемых от раздаточной машины, для перемещения по номерам R, несущим до максимума карты C в любое время. </p><p> Например, M (3,6) = 123 и M (4,6) = 23.And, ΣM (C, 6) = 146 для 3 ≤ C ≤ 4. </p><p> Вам дается, что ΣM (C, 10) = 10382 для 3 ≤ C ≤ 10. </p><p> Найти ΣM (C, 30) для 3 ≤ C ≤ 40. </p></section>
|
|||
|
|
|||
|
## Instructions
|
|||
|
<section id="instructions">
|
|||
|
</section>
|
|||
|
|
|||
|
## Tests
|
|||
|
<section id='tests'>
|
|||
|
|
|||
|
```yml
|
|||
|
tests:
|
|||
|
- text: <code>euler327()</code> должен вернуть 34315549139516.
|
|||
|
testString: 'assert.strictEqual(euler327(), 34315549139516, "<code>euler327()</code> should return 34315549139516.");'
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Challenge Seed
|
|||
|
<section id='challengeSeed'>
|
|||
|
|
|||
|
<div id='js-seed'>
|
|||
|
|
|||
|
```js
|
|||
|
function euler327() {
|
|||
|
// Good luck!
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
euler327();
|
|||
|
|
|||
|
```
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
## Solution
|
|||
|
<section id='solution'>
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|
|||
|
</section>
|