51 lines
2.2 KiB
Markdown
51 lines
2.2 KiB
Markdown
---
|
||
id: 5900f4b11000cf542c50ffc4
|
||
title: 'Завдання 325: Гра в камені II'
|
||
challengeType: 5
|
||
forumTopicId: 301982
|
||
dashedName: problem-325-stone-game-ii
|
||
---
|
||
|
||
# --description--
|
||
|
||
Для гри необхідно три купи камінців та два гравці. На кожному ході гравець видаляє кілька каменів із купи. Кількість видалень каміння має бути додатним і кратним кількості камінців в меншій купі.
|
||
|
||
Наприклад, нехай введена пара (6,14) означає, що в меншій купі 6 каменів, а в більшій – 14, тоді перший гравець може видалити 6 або 12 каменів з більшої кулі.
|
||
|
||
Гравець, що забере всі камені з купи – перемагає.
|
||
|
||
Виграшною конфігурацією є та, де перший гравець може виграти. Наприклад, (1,5), (2,6) і (3,12) виграшні конфігурації, тому що перший гравець одразу прибирає всі камені у другій купі.
|
||
|
||
Програшною є конфігурація, коли другий гравець може виграти, незалежно від того, що робить перший гравець. Наприклад, (2,3) і (3,4) програшні конфігурації: будь-який хід залишає можливість виграти для другого гравця.
|
||
|
||
Визначте $S(N)$ як суму ($x_i + y_i$) для усіх програшних конфігурацій ($x_i$, $y_i$), $0 < x_i < y_i ≤ N$. Ми можемо перевірити, що $S(10) = 211$ та $S({10}^4) = 230\\,312\\,207\\,313$.
|
||
|
||
Знайдіть $S({10}^{16})\bmod 7^{10}$.
|
||
|
||
# --hints--
|
||
|
||
`stoneGameTwo()` має повернути `54672965`.
|
||
|
||
```js
|
||
assert.strictEqual(stoneGameTwo(), 54672965);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function stoneGameTwo() {
|
||
|
||
return true;
|
||
}
|
||
|
||
stoneGameTwo();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|