Задача "Два коня"
На стандартной шахматной доске (8×8) живут 2 шахматных коня: Красный и Зелёный. Обычно они беззаботно скачут по просторам доски, пощипывая шахматную травку, но сегодня особенный день: у Зелёного коня день рождения. Зелёный конь решил отпраздновать это событие вместе с Красным. Но для осуществления этого прекрасного плана им нужно оказаться на одной клетке. Заметим, что Красный и Зёленый шахматные кони сильно отличаются от черного с белым: они ходят не по очереди, а одновременно, и, если оказываются на одной клетке, никто никого не съедает. Сколько ходов им потребуется, чтобы насладиться праздником?
Входные данные: Во входном файле содержатся координаты коней, записанные по стандартным шахматным правилам (т. е. двумя символами — маленькая латинская буква (от a до h) и цифра (от 1 до 8), задающие столбец и строку соответственно).
Выходные данные: Выходной файл должен содержать наименьшее необходимое количество ходов, либо −1, если кони не могут встретиться.
Примеры: Входные данные: a1 a3 ; Выходные данные: 1
Входные данные: a1 a2 ; Выходные данные: -1
Объясните, пожалуйста, как это решать
Ответы (1 шт):
Берёте коня, и выполняете поиск в ширину - ходите во все возможные непосещённые клетки массива. Попав в клетку, записываете количество ходов.
Делаете то же самое для второго коня.
Сравниваете все клетки. Если в какой-то клетке чётность чисел совпадает, то они могут там оказаться одновременно