63 lines
2.3 KiB
Markdown
63 lines
2.3 KiB
Markdown
---
|
||
id: 5900f5371000cf542c51004a
|
||
title: 'Завдання 459: Гра "Перегорталка"'
|
||
challengeType: 5
|
||
forumTopicId: 302133
|
||
dashedName: problem-459-flipping-game
|
||
---
|
||
|
||
# --description--
|
||
|
||
У цій грі двоє гравців грають на $N$, користуючись $N$ квадратними панелями.
|
||
|
||
Кожен квадрат містить диск, що з однієї сторони чорний, а з іншої білий.
|
||
|
||
На початку гри всі диски перевернуті білою стороною.
|
||
|
||
Хід полягає в тому, щоб перевернути всі диски наступним чином:
|
||
|
||
- у верхньому правому кутку прямокутника повинен знаходитись білий диск
|
||
- ширина прямокутника - це квадратне число (1, 4, 9, 16, ...)
|
||
- висота прямокутника - трикутне число (1, 3, 6, 10, ...)
|
||
|
||
<img class="img-responsive center-block" alt="необхідно перевернути всі диски у прямокутнику 4х3 на дошці 5х5" src="https://cdn.freecodecamp.org/curriculum/project-euler/flipping-game-1.png" style="background-color: white; padding: 10px;" />
|
||
|
||
Гравці ходять по черзі. Гравець перемагає, перегорнувши диски на чорну сторону.
|
||
|
||
Нехай $W(N)$ буде кількістю виграшних ходів для першого гравця на дошці $N$ на $N$ з усіма білими дисками за умови бездоганної гри.
|
||
|
||
$W(1) = 1$, $W(2) = 0$, $W(5) = 8$ and $W({10}^2) = 31\\,395$.
|
||
|
||
За $N = 5$, вісьмома виграшними ходами гравця є:
|
||
|
||
<img class="img-responsive center-block" alt="перші вісім виграшних ходів для N = 5" src="https://cdn.freecodecamp.org/curriculum/project-euler/flipping-game-2.png" style="background-color: white; padding: 10px;" />
|
||
|
||
Знайдіть $W({10}^6)$.
|
||
|
||
# --hints--
|
||
|
||
`flippingGame()` має повернути `3996390106631`.
|
||
|
||
```js
|
||
assert.strictEqual(flippingGame(), 3996390106631);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function flippingGame() {
|
||
|
||
return true;
|
||
}
|
||
|
||
flippingGame();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|