2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Ханойские башни
Сообщение05.12.2005, 23:08 
Ребята помогите разобраться в алгоритме следующей задачи:

Пусть в игре Ханойские башни исходное расположение колец произвольно, т.е. необъязательно, что на большем кольце лежит меньшее. Написать программу, переставляющую нужным образом кольца в этом случае.

  
                  
 
 
Сообщение06.12.2005, 00:44 
а какие правила перестановок-то. Тоже любые?

  
                  
 
 
Сообщение06.12.2005, 19:23 
Anonymous писал(а):
а какие правила перестановок-то. Тоже любые?


НЕТ! Колцо с меньшим радиусом должно лежать на кольце с большим радиусом!
В конце концов мы должны получить упорядоченную по возрастанию башенку!
Ещё раз напоминаю начальное положение колец в башенке произвольное!

  
                  
 
 
Сообщение07.12.2005, 06:19 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Идея алгоритма:
Во всякий момент времени существуют вершинки $a < b < c$. Тогда можно переставить с $a$ упорядоченную пирамидку большую, чем $b$, на $b$.

Особым случаем является пустая ось. Ее следует рассматривать особо как сверхбольшой круг (id est, на нее можно класть все, что угодно, с нее класть ничего ни на кого нельзя.)

Критерий конца - одна упорядоченная пирамидка.

 Профиль  
                  
 
 в продолжение разговора о ханойских башнях
Сообщение09.12.2008, 20:52 


09/12/08
1
сори..не мог бы кто еще раз объяснить поподробней об алгоритме перестановки при рандомном расположении колец, если можно с привязкой к языку Си! заранее огромное спасибо!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group