Задача заключается в определении минимального количества ходов, которое нужно сделать белому коню, чтобы добраться до клетки, где находится черный конь.
Шаги решения:
1. Прочитать размеры доски M и N из входного файла.
2. Прочитать координаты белого и черного коней из входного файла.
4. Создать доску размером MxN и заполнить ее значениями -1 (каждая клетка будет иметь значение -1, если конь еще не посетил эту клетку).
5. Использовать алгоритм обхода в ширину (BFS) для поиска минимального количества ходов.
– Создать очередь и положить в нее координаты белого коня.
– Инициализировать количество ходов равным 0.
– Пока очередь не пуста:
– Извлечь координаты клетки из очереди.
– Проверить, является ли эта клетка недоступной или уже посещенной.
– Если это клетка, где находится черный конь, вернуть количество ходов.
– Если это доступная клетка, пометить ее как посещенную и добавить соседние клетки в очередь со значением текущего количества ходов + 1.
– Если цикл завершился и клетка, где находится черный конь, не была достигнута, вернуть -1.
6. Записать найденное минимальное количество ходов в выходной файл.
7. Завершить программу.
Время работы алгоритма обхода в ширину составляет O(M*N), что является приемлемым для данной задачи с ограничениями по времени 2 секунды на выполнение.