| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Минимальный путь передвижения коня |
| Автор: Nike3000 7.5.2009, 21:05 |
| Здравствуйте! Требуется решить данную задачу: найти min путь передвижения коня по шахматной доске из 1 клетки во 2-ую Не подскажите с чего начать реализацию?? |
| Автор: maxdiver 7.5.2009, 22:29 |
| Построить граф (вершины - клетки) и реализовать на нём обход в ширину. |
| Автор: Nike3000 8.5.2009, 13:04 |
| Ну я знаю как это сделать руками..Нужно реализовать на компе... Алгоритм такой: сначала строим вершиный графов (вершины-те клетки куда конь сможет сходить) после надо этот граф както вбить в матрицу, а потом уже там искать мин. путь от клетки1 до 2 Как вот вбить в матрицу граф? клеток 8 на 8 формулы для хода у коня такие: upright(x+1,y-2) upleft(x-1,y-2) leftup(x-2,y-1) leftdown(x-2,y+1) rightup(x+2,y-1) rightdown(x+2,y+1) downleft(x-1,y+2) downright(x+1,y+2) |
| Автор: aram90 16.5.2009, 08:32 | ||
В принципе, явно построить граф не обьязательно. Задачу можно решить и так - на матрице, оне все же будет задача на графах, но граф мы не построим явно. Я не понял что ты имеешь в виду: "вбить в матрицу граф". Вот код решения:
Это простой поиск в ширину (BFS) в графе, то есть на доске, который использует очередь. |