Background
Charlie Darkbrown sits in another one of those boring Computer
Science lessons: At the moment the teacher just explains the standard
Tower of Hanoi problem, which bores Charlie to death!
Luckily, you know that the following algorithm works for n <=
12: At first k >= 1 disks on tower A are fixed and the remaining n-k
disks are moved from tower A to tower B using the algorithm for four
towers.Then the remaining k disks from tower A are moved to tower D
using the algorithm for three towers. At last the n - k disks from
tower B are moved to tower D again using the algorithm for four towers
(and thereby not moving any of the k disks already on tower D). Do this
for all k 2 ∈{1, .... , n} and find the k with the minimal number of
moves.
So for n = 3 and k = 2 you would first move 1 (3-2) disk from
tower A to tower B using the algorithm for four towers (one move). Then
you would move the remaining two disks from tower A to tower D using
the algorithm for three towers (three moves). And the last step would
be to move the disk from tower B to tower D using again the algorithm
for four towers (another move). Thus the solution for n = 3 and k = 2
is 5 moves. To be sure that this really is the best solution for n = 3
you need to check the other possible values 1 and 3 for k. (But, by the
way, 5 is optimal. . . )
There is no input.
For each n (1 <= n <= 12) print a single line containing the minimum number of moves to solve the problem for four towers and n disks.
No input.
REFER TO OUTPUT.
Migrated from old NTUJ.
No. | Testdata Range | Score |
---|