Алгоритмически расстояние между двумя клетками можно получить следующим образом. Берем начальную клетку (уровень 0). Отмечаем все клетки на расстоянии одного хода коня. Получаем клетки уровня 1. Повторяем эту процедуру для всех клеток уровня 1 - получаем клетки уровня 2 и т.д., пока все клетки не будут отмечены.
Перечитываю и продумываю все еще раз. Если составить алгоритм для определения наименьшего количества ходов. Задав клеточке а1 координаты (0;0), а2 соответственно (0;1), клеточке b1 - (1;0) и так далее. И начиная с клеточки (0;0) как приведено выше определяем за сколько ходов можно добраться до каждой клеточки. Ходов может быть от одного до шести. Если движение совершать между клеточками разного цвета, то расстояние нечетное, если между клеточками одного цвета, то четное.
Еще введем одно определение, что смещением будем считать произведение разностей соответствующих координат. Определим смещение для клеточек разного цвета:
достижимые за один ход: 2
достижимые за три хода: 0;4;6;10;12;20
достижимые за пять ходов: 0;14;28;42
Теперь для клеточек одинакового цвета
достижимые за 2 хода: 0;3;8;9
достижимые за 4 хода: 0;1;4;5;7;12;15;16;21;24;25;35;36
достижимые за 6 ходов: 49
Заметим, что в первом и втором случаях повторяется только ноль. Для этого введем еще одно определение сумма - сумма координат клеточки (заметим что для черных клеточек она четная, для белых нечетная)
Теперь сам алгоритм:
1) Находим суммы клеточек, начальной и конечной и смещение.
2) Если суммы одинаковой четности, то
достижимые за 2 хода: 0;3;8;9
достижимые за 4 хода: 0;1;4;5;7;12;15;16;21;24;25;35;36
достижимые за 6 ходов: 49
Если разного цвета, то
достижимые за один ход: 2
достижимые за три хода: 0;4;6;10;12;20
достижимые за пять ходов: 0;14;28;42
3) Если смещение равно 0, то рассматриваем сумму конечной точки:
Если 2 или 4, то два хода
Если 1;3 или 5, то три хода
Если 6, то 4 хода
Если 7, то 5 ходов.
-- 29.08.2012, 16:42 --Вычислите d(с5;g8)
с - 2, g - 6. Следовательно точки (2;4), (6;7)
1) суммы клеточек 6 и 13, следовательно они разного цвета. Смещение (6-2)х(7-4)=12.
2) исходя из этого
разного цвета:
достижимые за один ход: 2
достижимые за три хода: 0;4;6;10;12;20
достижимые за пять ходов: 0;14;28;42
Делаем вывод, что расстояние между клеточками равно 3
-- 29.08.2012, 16:44 --Уважаемые форумчане, пожалуйста скажите, можно ли что-либо с этого извлечь? Или это бред?