|
|
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Можете подсказать решение задачи: Дана шахматная доска размером 8х8 и шахматный конь. Программа должна запросить у пользователя координаты клетки поля и поставить туда коня. Задача программы найти и вывести путь коня, при котором он обойдет все клетки доски, становясь в каждую клетку только один раз. Без использования классов. Я до них ещё не дошёл :( А в инете нашёл решение только с классами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 15:09 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
либо ищи в инете спец. алгоритм, либо: строй ОПУПЕННОГО размера дерево (используя рекурсию) и рассматривай так все ходы. штука медленная до опупения аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 15:41 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
а нужны все пути? или досточно одного любого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 15:42 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
miksoft: В начале программа спрашивает у пользователя начальные координаты коня, и это координата будет точкой начала пути. Т.е. началом может біть любая клетка доски. Можно рассмотерть вместо доски 8х8 доску 5х5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 16:57 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 16:58 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
я же говорил, что она медленная: аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 17:00 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
вопрос все же созрел: как сделать релиз, а не дебаг??? аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 17:08 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
п.с. если знать игровые алгоритмы, писал и отлаживал минут 30... аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 17:09 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
тебе возможно пригодится это (ибо без этого пару часов вбивать) аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 17:19 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
а дабы совсем мало что было бы делать, нажми (CTRL+ALT)(не отпуская)+ASTAFY аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 17:21 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
странно, кстати, для 0,0 думала 4 секунды, а вот для 7,7 (это тоже, но зеркально) думает уже пару минут... аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2007, 17:22 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
У меня это дежурный лекционный пример для backtrack и стека. Пристёгнут (CBuilder 5). Собственно решение, независимое от среды в Horse.cpp, Horse.h. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2007, 07:49 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
muk07У меня это дежурный лекционный пример для backtrack и стека. Пристёгнут (CBuilder 5). Собственно решение, независимое от среды в Horse.cpp, Horse.h. бегло пробежался, у меня похоже в пару раз быстрее будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2007, 09:04 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Блин, скоро попу подтереть будут просить Студенты, читайте Вирта, он ХОРОШИЙ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2007, 09:08 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Блин, скоро попу подтереть будут просить Студенты, читайте Вирта, он ХОРОШИЙ А задача не столь и тривиальная. она почти NP - универсальное решение - найти цикл ср всеми вершинами по одному разу. Моя реализация 2-3 раза быстрее и стабильна. Просто Aklin повезло с выбором ветвлений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 12:56 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Den_di Gluk (Kazan)Блин, скоро попу подтереть будут просить Студенты, читайте Вирта, он ХОРОШИЙ А задача не столь и тривиальная. она почти NP - универсальное решение - найти цикл ср всеми вершинами по одному разу. Моя реализация 2-3 раза быстрее и стабильна. Просто Aklin повезло с выбором ветвлений. Задача РАЗУМЕЕТСЯ не тривиальна, но ПОДРОБНО описана у Вирта "Алгоритмы и структуры данных" Кстати где-то на форуме (искать лень) решение softwarer-а на SQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 13:14 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Кстати где-то на форуме (искать лень) решение softwarer-а на SQL /topic/321015&pg=3#2968446 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 14:45 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Угу, там естественно полный перебор, а не поиск с возвратом как у Вирта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 14:50 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Полного перебора там нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 15:27 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
согласен, но и поиска с возвратом тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 16:25 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
Там если угодно "параллельный поиск с возвратом". То есть рассматривается не одна текущая позиция, а множество, и соответственно применением допустимых ходов получается очередное множество допустимых позиций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 16:43 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
softwarerТам если угодно "параллельный поиск с возвратом". То есть рассматривается не одна текущая позиция, а множество, и соответственно применением допустимых ходов получается очередное множество допустимых позиций. к вечеру в голове уже не укладывается :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 16:52 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
При инициализации в массив "позиций к рассмотрению" заносится путь (a1). Далее, на каждом шаге рассматриваются "текущие пути" и делается попытка расширить их допустимыми ходами (то есть соответствующими ходу коня и отсутствующими в предыдущем пути). Скажем, (a1) расширяется до (a1, c2) и (a1, b3). На втором шаге получаем (a1, c2, a3), (a1, c2, b4), (a1, c2, d4), (a1, c2, e3), (a1, c2, e1), (a1, b3, a5), (a1, b3, c5), (a1, b3, d4), (a1, b3, d2), (a1, b3, c1). И так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 16:59 |
|
||
|
Путь коня по доске
|
|||
|---|---|---|---|
|
#18+
поиск в ширину с отсечением по моему так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 17:02 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34268905&tid=2029596]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
143ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 454ms |

| 0 / 0 |
