Ostatnio natknąłem się na ten problem , odmianę wież hanoi .
Opis problemu:
Rozważ następującą odmianę dobrze znanego problemu Wieże Hanoi:
Dostajemy wież i m dysków o rozmiarach 1 , 2 , 3 , … , m ułożonych na niektórych wieżach. Twoim celem jest przeniesienie wszystkich dysków do k- tej wieży w jak najmniejszej liczbie ruchów, jak możesz, ale z uwzględnieniem następujących zasad:
- przenoszenie tylko jednego dysku na raz,
- nigdy nie przenosząc większego dysku na mniejszy,
- poruszanie się tylko między wieżami w odległości co najwyżej .
(Granice pierwotnego problemu: i m ≤ 100. Liczba przypadków testowych ≤ 1000. Możesz założyć, że wszystkie problemy można rozwiązać w nie więcej niż 20000 ruchów.)
To interesujące. Klasyczne wieże problemu hanoi mają jedno źródło, miejsce docelowe i tymczasową wieżę, która służy do przenoszenia dysków ze źródła do miejsca docelowego. Problem postawiony na tej stronie ma w zasadzie początkową i końcową konfigurację.
Jak podejść do tego problemu?