![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Guest |
|
|||
|
Unregistered |
Да, я согласна с этим. Тоже читала. Не в "Наука и жизнь", конечно, но в др., напр.http://algolist.manual.ru/maths/combinat/knight.php Эвристика возможна в качестве дополнительной оптимизации. А вот какой основной,базовый алгоритм? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Например такой: Рекурсивная подпрограмма. Принимает: Текущее состояние доски (массив флагов был/нет). Текущее положение коня. Текущая последовательность ходов. Действия: Определить все возможные ходы. Если таковых нет - распечатать текущую последовательность ходов как решение (если непосещенных клеток нет) или тупик (непосещенные клетки есть) и выйти из подпрограммы. Иначе для каждого возможного хода вызывать себя, передавая параметры с этим ходом как сделанным (т.е. помечается текущее положение коня как посещенное, само текущее меняется на конечное поле хода, дополняется последовательность ходов). И вообще пора бы зарегистрироваться - что-то кажется мне, что ты тут надолго... хоть уведомления об ответах будешь в почту получать... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Диана |
|
|||
|
Unregistered |
Спасибо за участие!
Вот мучаюсь Сделала рекурсивно, но так медленно работает, даже на небольших досках, что иногда у меня нет терпения, когда это кончится и я нажимаю Ctrl+Alt+Del. .. Потом у меня подозрение, что не смогу нарисовать доску, так как Borland C++ не поддерживает графический режим. Насколько я знаю, конечно. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
А тяжело 1) привернуть кнопку "Abort operation", взводящую глобальный флаг 2) в начале рекурсивной процедуры поставить DoEvents 3) там же - если флаг взведен, сразу выйти ? А что долго - дык полный перебор же ж... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |