eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

(p, q) - лошадь

(p, q) - лошадь

(\textbf{p}, \textbf{q})-лошадь - это обобщение обычного шахматного коня. (\textbf{p}, \textbf{q})-лошадь своим ходом перемещается на \textbf{p} клеток в одном направлении, и на \textbf{q} - в другом (перпендикулярном). Например, (\textbf{3}, \textbf{4})-лошадь может переместиться с клетки (\textbf{5}, \textbf{6}) на клетки (\textbf{1}, \textbf{3}), (\textbf{2}, \textbf{2}), (\textbf{2}, \textbf{10}), (\textbf{1}, \textbf{9}), (\textbf{8}, \textbf{10}), (\textbf{9}, \textbf{9}), (\textbf{8}, \textbf{2}) и (\textbf{9}, \textbf{3}). Очевидно, что обычный шахматный конь - это (\textbf{2}, \textbf{1})-лошадь. Ваша задача - определить минимальное число ходов, которое требуется (\textbf{p}, \textbf{q})-лошади, чтобы добраться от одной клетки шахматной доски \textbf{M}×\textbf{N} до другой. За пределы доски выходить запрещается. \InputFile Одна строка содержит \textbf{8} целых чисел \textbf{m}, \textbf{n}, \textbf{p}, \textbf{q}, \textbf{x_1}, \textbf{y_1}, \textbf{x_2}, \textbf{y_2} (\textbf{1} ≤ \textbf{x_1}, \textbf{x_2} ≤ \textbf{m} ≤ \textbf{100}, \textbf{1} ≤ \textbf{y_1}, \textbf{y_2} ≤ \textbf{n} ≤ \textbf{100}, \textbf{0} ≤ \textbf{p} ≤ \textbf{100}, \textbf{0} ≤ \textbf{q} ≤ \textbf{100}). \OutputFile Первая строка должна содержать число ходов \textbf{k}, которое требуется (\textbf{p}, \textbf{q})-лошади, чтобы добраться из клетки (\textbf{x_1}, \textbf{y_1}) в клетку (\textbf{x_2}, \textbf{y_2}). Далее должна следовать \textbf{k + 1} строка, содержащая последовательные положения (\textbf{p}, \textbf{q})-лошади на этом пути. Если (\textbf{p}, \textbf{q})-лошадь не может добраться из (\textbf{x_1}, \textbf{y_1}) в (\textbf{x_2}, \textbf{y_2}), выведите \textbf{-1}.
Лимит времени 1 секунда
Лимит использования памяти 122.17 MiB
Входные данные #1
3 3 1 1 1 1 3 3
Выходные данные #1
2
1 1
2 2
3 3
Входные данные #2
2 2 1 1 1 1 1 2
Выходные данные #2
-1
Источник ЛКШ-2011 Севастополь 08.08.2011 д.2 1-я лига