2018-09-30 22:01:58 +00:00
|
|
|
---
|
|
|
|
id: 5900f4da1000cf542c50ffed
|
|
|
|
title: 'Problem 366: Stone Game III'
|
2020-11-27 18:02:05 +00:00
|
|
|
challengeType: 5
|
2019-08-05 16:17:33 +00:00
|
|
|
forumTopicId: 302027
|
2021-01-13 02:31:00 +00:00
|
|
|
dashedName: problem-366-stone-game-iii
|
2018-09-30 22:01:58 +00:00
|
|
|
---
|
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
# --description--
|
|
|
|
|
2018-09-30 22:01:58 +00:00
|
|
|
Two players, Anton and Bernhard, are playing the following game.
|
2020-11-27 18:02:05 +00:00
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
There is one pile of $n$ stones.
|
2020-11-27 18:02:05 +00:00
|
|
|
|
2018-09-30 22:01:58 +00:00
|
|
|
The first player may remove any positive number of stones, but not the whole pile.
|
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
Thereafter, each player may remove at most twice the number of stones his opponent took on the previous move.
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
The player who removes the last stone wins.
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
E.g. $n = 5$
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
If the first player takes anything more than one stone the next player will be able to take all remaining stones.
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
If the first player takes one stone, leaving four, his opponent will take also one stone, leaving three stones.
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
The first player cannot take all three because he may take at most $2 \times 1 = 2$ stones. So let's say he also takes one stone, leaving 2.
|
|
|
|
|
|
|
|
The second player can take the two remaining stones and wins.
|
|
|
|
|
|
|
|
So 5 is a losing position for the first player.
|
|
|
|
|
|
|
|
For some winning positions there is more than one possible move for the first player.
|
|
|
|
|
|
|
|
E.g. when $n = 17$ the first player can remove one or four stones.
|
|
|
|
|
|
|
|
Let $M(n)$ be the maximum number of stones the first player can take from a winning position at his first turn and $M(n) = 0$ for any other position.
|
|
|
|
|
|
|
|
$\sum M(n)$ for $n ≤ 100$ is 728.
|
|
|
|
|
|
|
|
Find $\sum M(n)$ for $n ≤ {10}^{18}$. Give your answer modulo ${10}^8$.
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
# --hints--
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
`stoneGameThree()` should return `88351299`.
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
```js
|
2021-07-29 19:48:17 +00:00
|
|
|
assert.strictEqual(stoneGameThree(), 88351299);
|
2018-09-30 22:01:58 +00:00
|
|
|
```
|
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
# --seed--
|
2018-09-30 22:01:58 +00:00
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
## --seed-contents--
|
2018-09-30 22:01:58 +00:00
|
|
|
|
|
|
|
```js
|
2021-07-29 19:48:17 +00:00
|
|
|
function stoneGameThree() {
|
2020-09-15 16:57:40 +00:00
|
|
|
|
2018-09-30 22:01:58 +00:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
2021-07-29 19:48:17 +00:00
|
|
|
stoneGameThree();
|
2018-09-30 22:01:58 +00:00
|
|
|
```
|
|
|
|
|
2020-11-27 18:02:05 +00:00
|
|
|
# --solutions--
|
2018-09-30 22:01:58 +00:00
|
|
|
|
|
|
|
```js
|
|
|
|
// solution required
|
|
|
|
```
|