Files
freeCodeCamp/curriculum/challenges/italian/10-coding-interview-prep/project-euler/problem-376-nontransitive-sets-of-dice.md
2022-04-01 02:01:59 +09:00

2.2 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
5900f4e51000cf542c50fff7 Problema 376: Set di dadi non transitivo 5 302038 problem-376-nontransitive-sets-of-dice

--description--

Considera la seguente serie di dadi con pallini non standard:

$$$\begin{array}{} \text{Dado A: } & 1 & 4 & 4 & 4 & 4 & 4 \\ \text{Dado B: } & 2 & 2 & 2 & 5 & 5 & 5 \\ \text{Dado C: } & 3 & 3 & 3 & 3 & 3 & 6 \\ \end{array}$$

Un gioco è giocato da due giocatori scegliendo un dado a turno e lanciandolo. Il giocatore che lancia il valore più alto vince.

Se il primo giocatore sceglie dado A e il secondo giocatore sceglie dado B otteniamo

P(\text{secondo giocatore vince}) = \frac{7}{12} > \frac{1}{2}

Se il primo giocatore sceglie dado B e il secondo giocatore sceglie dado C otteniamo

P(\text{secondo giocatore vince}) = \frac{7}{12} > \frac{1}{2}

Se il primo giocatore sceglie dado C e il secondo giocatore sceglie dado A otteniamo

P(\text{secondo giocatore vince}) = \frac{25}{36} > \frac{1}{2}

Quindi, qualunque scelta faccia il primo giocatore, il secondo giocatore può scegliere un altro dado e avere una probabilità maggiore del 50% di vittoria. Un set di dadi che hanno questa proprietà è chiamato un set di dadi non transitivi.

Vogliamo indagare quanti insiemi di dadi non transitivi esistono. Assumeremo le seguenti condizioni:

  • Ci sono tre dadi a sei facce con ogni faccia che ha tra 1 e N pallini, inclusi.
  • I dadi con lo stesso set di pallini sono uguali, indipendentemente dalla faccia del dado su cui i pallini sono situati.
  • Lo stesso valore di pallini può apparire su più dadi; se entrambi i giocatori lanciano lo stesso valore nessuno vince.
  • I set di dadi \\{A, B, C\\}, \\{B, C, A\\} e \\{C, A, B\\} sono lo stesso set.

Per N = 7 troviamo 9780 set di questo tipo.

Quanti ce ne sono per N = 30?

--hints--

nontransitiveSetsOfDice() dovrebbe restituire 973059630185670.

assert.strictEqual(nontransitiveSetsOfDice(), 973059630185670);

--seed--

--seed-contents--

function nontransitiveSetsOfDice() {

  return true;
}

nontransitiveSetsOfDice();

--solutions--

// solution required