Files
2022-04-01 02:01:59 +09:00

58 lines
2.7 KiB
Markdown

---
id: 5900f3db1000cf542c50feec
title: 'Problema 109: Freccette'
challengeType: 5
forumTopicId: 301733
dashedName: problem-109-darts
---
# --description--
Nel gioco delle freccette un giocatore lancia tre freccette a un bersaglio che è diviso in venti sezioni di dimensioni uguali, numerate da uno a venti.
<img class="img-responsive center-block" alt="Bersaglio da freccette" src="https://cdn.freecodecamp.org/curriculum/project-euler/darts.png" style="background-color: white; padding: 10px;" />
Il punteggio di un lancio è determinato dal numero della regione dentro cui atterra il dardo. Un atterraggio fuori dall'anello rosso/verde esterno segna zero. Le regioni nere e color crema all'interno di questo anello rappresentano punteggi singoli. Tuttavia, gli anelli rosso/verde all'esterno e nel mezzo contano rispettivamente come punteggio doppio e triplo.
Al centro del tabellone ci sono due cerchi concentrici. Il cerchio esterno vale 25 punti e il cerchio interno è un doppio che vale 50 punti.
Ci sono molte variazioni di regole ma nel gioco più popolare i giocatori iniziano con un punteggio di 301 o 501 e il primo giocatore che riduce il suo punteggio a zero vince. Comunque, è normale giocare un sistema a "finale doppio", che significa che il giocatore deve colpite un doppio (incluso il doppio al centro del tabellone) con la sua freccetta finale per vincere; qualsiasi altra freccetta che ridurrebbe il punteggio a 1 o inferione significa che il set di tre dardi è "sprecato".
Quando un giocare è in grado di finire sul proprio punteggio viene chiamato un "checkout" e il checkout più alto è 170: T20 T20 D25 (due tripli 20 e un doppio centro). Ci sono esattamente 11 modi distinti per fare checkout con un punteggio di 6:
$$\begin{array} \text{D3} & & \\\\
D1 & D2 & \\\\ S2 & D2 & \\\\
D2 & D1 & \\\\ S4 & D1 & \\\\
S1 & S1 & D2 \\\\ S1 & T1 & D1 \\\\
S1 & S3 & D1 \\\\ D1 & D1 & D1 \\\\
D1 & S2 & D1 \\\\ S2 & S2 & D1 \end{array}$$
Nota che D1 D2 è considerato diverso da D2 D1 visto che finiscono su doppi diversi. Invece, la combinazione S1 T1 D1 è considerata la stessa di T1 S1 D1. In aggiunta, non includiamo lanci mancati considerando le combinazioni; per esempio, D3 è la stessa cosa di 0 D3 e 0 0 D3. Incredibilmente ci sono 42336 modi diversi per fare checkout in totale. Quanti modi distinti ci sono per un giocatore di fare checkout con un punteggio inferiore a 100?
# --hints--
`darts()` dovrebbe restituire `38182`.
```js
assert.strictEqual(darts(), 38182);
```
# --seed--
## --seed-contents--
```js
function darts() {
return true;
}
darts();
```
# --solutions--
```js
// solution required
```