Files

1.8 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4da1000cf542c50ffed Problema 366: Jogo da pedra III 5 302027 problem-366-stone-game-iii

--description--

Dois jogadores, Anton e Bernhard, estão jogando o seguinte jogo.

Existe uma pilha de n pedras.

O primeiro jogador pode remover qualquer número positivo de pedras, mas não a pilha toda.

Depois disso, cada jogador pode remover, no máximo, o dobro das pedras que seu oponente removeu no movimento anterior.

O jogador que remover a última pedra ganha.

Ex: n = 5

Se o primeiro jogador pegar mais do que uma pedra, o próximo jogador será capaz de pegar todas as pedras restantes.

Se o primeiro jogador pegar uma pedra, deixando quatro, o oponente dele pegará também uma pedra, deixando três pedras.

O primeiro jogador não pode pegar todas as três pedras restantes porque ele pode pegar no máximo 2 \times 1 = 2 pedras. Então digamos que ele também leve uma pedra, deixando 2.

O segundo jogador pode pegar as duas pedras restantes e ganhar.

Portanto, 5 é uma posição em que o primeiro jogador perde.

Para algumas posições vencedoras, há mais de um movimento possível para o primeiro jogador.

Ex: quando n = 17, o primeiro jogador pode remover uma ou quatro pedras.

Considere M(n) como o número máximo de pedras que o primeiro jogador pode remover em uma posição vencedora em seu primeiro movimento e M(n) = 0 para qualquer outra posição.

A \sum M(n) para n ≤ 100 é 728.

Encontre a \sum M(n) para n ≤ {10}^{18}. Dê sua resposta modulo {10}^8.

--hints--

stoneGameThree() deve retornar 88351299.

assert.strictEqual(stoneGameThree(), 88351299);

--seed--

--seed-contents--

function stoneGameThree() {

  return true;
}

stoneGameThree();

--solutions--

// solution required