|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Zorin 2:5045/78.21 26 May 2003 22:51:36 To : Anton Maydell Subject : Ханойская башня -------------------------------------------------------------------------------- _*ЯЯЯЯЯ*_ ИНННННННННННННННДДДДДДДДДДДДДДДДДъъъъъ ъ ъ ъ 26 Май 03 14:35, _Anton Maydell_ НН. /Sergey Zorin/: SZ>> Имеются три колышка А, В, С. Hа колышек А нанизано n дисков SZ>> радиуса 1,2,...,n, таким образом, что диск радиуса i является i-м SZ>> сверху. Задача состоит в том, чтобы переместить все диски на SZ>> колышек С таким образом, чтобы диск радиуса i был опять i-м SZ>> сверху. За один раз разрешается перемещать только один диск с SZ>> любого колышка на любой другой. Должно выполняться условие, что SZ>> на каждом колышке ни в какой момент никакой диск не может SZ>> находиться выше диска с меньшим номером. А как насчет того, что можно перемещать только один диск за один раз? AM> AM> Привожу рекурсивное решение, взятое с AM> http://acm.timus.ru/problem.asp?id=1054 AM> AM> procedure Hanoi(N:integer; From, To_, Temp : integer); AM> Begin if N>> 0 then AM> begin AM> Hanoi(N-1, From, Temp, To_); AM> writeln (N, From, To_); AM> Hanoi(N-1, Temp, To_, From) AM> end AM> End; AM> AM> Для перемещения и дисков достаточно вызвать Hanoi(n,1,2,3); AM> AM> AM> Anton AM> ъ ъъъДН» Hу я вроде все сказал... Bye _*Anton*_ ! ИНННННННННННННННДДДДДДДДДДДДДДДДДъъъъъ ъ ъ ъ ... С кем поведёшся, с тем и подерешься. --- GoldEd 3.00.Beta5+ & Fido Master 2000 * Origin: А мне уже пятнадцать лет (2:5045/78.21) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/101893ed29ac1.html, оценка из 5, голосов 10
|