Files

63 lines
2.3 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: 5900f54a1000cf542c51005c
title: 'Завдання 477: Гра "Послідовність чисел"'
challengeType: 5
forumTopicId: 302154
dashedName: problem-477-number-sequence-game
---
# --description--
Гра "Послідовність чисел" починається з послідовності $S$ від $N$ чисел, записаних в рядку.
Двоє гравців ходять по черзі. Гравець у свою чергу має обрати та видалити перше або останнє число, що лишились в послідовності.
Рахунком гравця є сума всіх чисел, які він забрав. Кожний гравець намагається збільшити свою суму.
Якщо $N = 4$ та $S = \\{1, 2, 10, 3\\}$, тоді кожний гравець збільшує свій рахунок наступним чином:
- Гравець 1: видаляє перше число (1)
- Гравець 2: видаляє останнє число з решти послідовності (3)
- Гравець 1: видаляє останнє число з решти послідовності (10)
- Гравець 2: видаляє число, яке залишилось (2)
Рахунок гравця 1 становить $1 + 10 = 11$.
Нехай $F(N)$ буде рахунком гравця 1, якщо обидва гравці дотримуються оптимальної стратегії для послідовності $S = \\{s_1, s_2, \ldots, s_N\\}$, визначеної як:
- $s_1 = 0$
- $s_{i + 1} = ({s_i}^2 + 45)$ modulo $1\\,000\\,000\\,007$
Послідовність починається з $S = \\{0, 45, 2\\,070, 4\\,284\\,945, 753\\,524\\,550, 478\\,107\\,844, 894\\,218\\,625, \ldots\\}$.
Вам дається $F(2) = 45$, $F(4) = 4\\,284\\,990$, $F(100) = 26\\,365\\,463\\,243$, $F(104) = 2\\,495\\,838\\,522\\,951$.
Знайдіть $F({10}^8)$.
# --hints--
`numberSequenceGame()` має повернути `25044905874565164`.
```js
assert.strictEqual(numberSequenceGame(), 25044905874565164);
```
# --seed--
## --seed-contents--
```js
function numberSequenceGame() {
return true;
}
numberSequenceGame();
```
# --solutions--
```js
// solution required
```