Pagini recente » Diferente pentru utilizator/drastik intre reviziile 173 si 172 | Diferente pentru problema/christmas-balls intre reviziile 6 si 5 | Diferente pentru pd intre reviziile 105 si 104
Diferente pentru
pd intre reviziile
#105 si
#104
Nu exista diferente intre titluri.
Diferente intre continut:
dacă S e stare finală
returnează 0, 1 sau 2 în funcţie de câştigător;
R[J, S] = 0;
R[J, S] = 0
pentru toate stările S' în care se poate ajunge din S printr-o mutare
R[J, S] = max(R[J, S], 2 - calculR(1 - J, S'));
sfârşit pentru;
returnează R[J, S];
==
La prima vedere, numărul stărilor este $2 * N^6^ = 2*30^6^ = 1.458 * 10^9^$, deci numărul stărilor este prea mare pentru a intra în limite rezonabile de spaţiu şi timp. Observăm totuşi că toate stările îndeplinesc condiţia $n{~0~} + n{~1~} + n{~2A~} + n{~2B~} + n{~3~} + n{~4~} = N$. Numărul total al stărilor este numărul tuplurilor care îndeplinesc egalitatea şi condiţiile $n{~k~} ≥ 0$. Vom numerota cele 6 tipuri de grămezi prin numere de la 0 la 5. Vom calcula valorile $S[g, b, v]$ care reprezintă numărul de variante de a grupa $b$ bile în $g$ grămezi, astfel încât cea mai mică grămadă să aibă cel puţin mărimea tipului de indice $0 ≤ v ≤ 5$. Notăm cu $D$ şirul dimensiunilor tipurilor, $(0, 1, 2, 2, 3, 4)$ şi observăm că o stare descrisă prin $(g, b, v)$ ori are o grămadă de dimensiune $D{~v~}$ ori toate grămezile sunt mai mari decât această dimensiune. Atunci recurenţa de calcul pentru $S$ este: $S[g, b, v] = S[g, b, v + 1] + S[g - 1, b - D{~v~}, v]$ cu cazul particular $S[0, 0, 5] = 1$. Numărul total de stări este valoarea $S[N, 2*N, 0]$. Pentru valoarea maximă a lui $N$ din enunţ, am obţinut $S[30, 60, 0] = 8266$.
To be continued ...
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.