2021-06-15 07:49:18 +00:00
---
id: 5900f4701000cf542c50ff83
2022-02-28 19:22:39 +00:00
title: 'Problema 260: Gioco delle pietre'
2021-06-15 07:49:18 +00:00
challengeType: 5
forumTopicId: 301909
dashedName: problem-260-stone-game
---
# --description--
2022-02-28 19:22:39 +00:00
Un gioco si gioca con tre mucchi di pietre e due giocatori.
2021-06-15 07:49:18 +00:00
2022-02-28 19:22:39 +00:00
Al turno di ogni giocatore, il giocatore rimuove una o più pietre dai mucchi. Tuttavia, se il giocatore preleva pietre da più di una pila, lo stesso numero di pietre deve essere rimosso da ciascuna delle pile selezionate.
2021-06-15 07:49:18 +00:00
2022-02-28 19:22:39 +00:00
In altre parole, il giocatore sceglie alcuni $N > 0$ e rimuove:
2021-06-15 07:49:18 +00:00
2022-02-28 19:22:39 +00:00
- $N$ pietre da una singola pila qualsiasi; o
- $N$ pietre da due pile qualsiasi ($2N$ totale); o
- $N$ pietre da ciascuna delle tre pile ($3N$ totale).
2021-06-15 07:49:18 +00:00
2022-02-28 19:22:39 +00:00
Il giocatore che prende l'ultima pietra vince la partita.
2021-06-15 07:49:18 +00:00
2022-02-28 19:22:39 +00:00
Una configurazione vincente è quella in cui il primo giocatore può forzare una vittoria.
2021-06-15 07:49:18 +00:00
2022-02-28 19:22:39 +00:00
Ad esempio, (0,0,13), (0,11,11) e (5,5,5) sono configurazioni vincenti perché il primo giocatore può immediatamente rimuovere tutte le pietre.
Una configurazione perdente è quella in cui il secondo giocatore può forzare una vittoria, indipendentemente da ciò che fa il primo giocatore.
Ad esempio, (0,1,2) e (1,3,3) sono configurazioni perdenti: qualsiasi mossa lecita lascia una configurazione vincente per il secondo giocatore.
Considera tutte le configurazioni perdenti ($x_i$,$y_i$,$z_i$) dove $x_i ≤ y_i ≤ z_i ≤ 100$. Possiamo verificare che $\sum (x_i + y_i + z_i) = 173\\,895$ per queste.
Trova $\sum (x_i + y_i + z_i)$ dove ($x_i$,$y_i$,$z_i$) varia sulle configurazioni perdenti con $x_i ≤ y_i ≤ z_i ≤ 1000$.
2021-06-15 07:49:18 +00:00
# --hints--
2022-02-28 19:22:39 +00:00
`stoneGame()` dovrebbe restituire `167542057` .
2021-06-15 07:49:18 +00:00
```js
2022-02-28 19:22:39 +00:00
assert.strictEqual(stoneGame(), 167542057);
2021-06-15 07:49:18 +00:00
```
# --seed--
## --seed-contents--
```js
2022-02-28 19:22:39 +00:00
function stoneGame() {
2021-06-15 07:49:18 +00:00
return true;
}
2022-02-28 19:22:39 +00:00
stoneGame();
2021-06-15 07:49:18 +00:00
```
# --solutions--
```js
// solution required
```