55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
![]() |
---
|
|||
|
id: 5900f4e81000cf542c50fffb
|
|||
|
title: 'Задача 380: Дивовижні лабіринти!'
|
|||
|
challengeType: 5
|
|||
|
forumTopicId: 302044
|
|||
|
dashedName: problem-380-amazing-mazes
|
|||
|
---
|
|||
|
|
|||
|
# --description--
|
|||
|
|
|||
|
Лабіринт $m×n$ - це прямокутна сітка $m×n$ зі стінками, розміщеними між клітинками сітки таким чином, що існує рівно один шлях від верхнього лівого квадрата до будь-якого іншого квадрата. Нижче наведено приклади лабіринту 9×12 та лабіринту 15×20:
|
|||
|
|
|||
|
<img class="img-responsive center-block" alt="Лабіринт 9х12 і лабіринт 15х20" src="https://cdn.freecodecamp.org/curriculum/project-euler/amazing-mazes.gif" style="background-color: white; padding: 10px;" />
|
|||
|
|
|||
|
Нехай $C(m, n)$ - кількість різних $m×n$ лабіринтів. Лабіринти, які можуть утворитися шляхом обертання та відбиття від іншого лабіринту, вважаються окремими.
|
|||
|
|
|||
|
Можна перевірити, що $C(1, 1) = 1$, $C(2, 2) = 4$, $C (3, 4) = 2415$ і $C (9, 12) = 2,5720\mathrm{e}\\,46$ (у наукових позначеннях округлено до 5 значущих цифр).
|
|||
|
|
|||
|
Знайдіть $C(100, 500)$ і запишіть свою відповідь у вигляді рядка в науковому позначенні, округленому до 5 значущих цифр.
|
|||
|
|
|||
|
Даючи свою відповідь, використовуйте малі літери e, щоб відокремити мантису та показник степеня. Наприклад. якщо відповідь становить 1234567891011, тоді формат відповіді буде рядком `1.2346e12`.
|
|||
|
|
|||
|
# --hints--
|
|||
|
|
|||
|
`amazingMazes()` має повернути рядок.
|
|||
|
|
|||
|
```js
|
|||
|
assert(typeof amazingMazes() === 'string');
|
|||
|
```
|
|||
|
|
|||
|
`amazingMazes()` має повернути рядок `6.3202e25093`.
|
|||
|
|
|||
|
```js
|
|||
|
assert.strictEqual(amazingMazes(), '6.3202e25093');
|
|||
|
```
|
|||
|
|
|||
|
# --seed--
|
|||
|
|
|||
|
## --seed-contents--
|
|||
|
|
|||
|
```js
|
|||
|
function amazingMazes() {
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
amazingMazes();
|
|||
|
```
|
|||
|
|
|||
|
# --solutions--
|
|||
|
|
|||
|
```js
|
|||
|
// solution required
|
|||
|
```
|