Это обычная головоломка, которую многие из вас решили вручную. Теперь пришло время написать алгоритм для решения того же.
Есть две одинаковые палочки, выстроенные в линию с двух разных сторон, обращенных друг к другу. Между ними есть одно пустое пространство. Скажите что-то вроде следующего рисунка (если общее количество совпадений равно 4).

Каждая палка может либо скользить на один шаг вперед (если непосредственное переднее пространство свободно), либо ее можно перепрыгнуть через одну палку спереди и приземлиться в свободное пространство (если это пространство свободно). Перемещение в обратном направлении невозможно (даже свободное место). Обратный прыжок также не допускается. Только один ход разрешен за один шаг.
Теперь вы должны написать алгоритм, чтобы найти минимальные требуемые шаги, используя которые все палки соответствия левой стороны попадут в правую сторону, а все палочки соответствия правой стороны попадут в левую сторону.
Например: если есть всего 2 спички (по 1 с каждой стороны), то шаги будут:

Примечание. На приведенном выше рисунке левая боковая ручка была перемещена первой. Другое решение существует, когда правая боковая ручка движется первой. Но для этой проблемы вы должны дать только одно решение, и это также предполагает, что левая ручка движется первой.
На следующем рисунке описаны ходы с 4 спичками (по 2 с каждой стороны):

Примечание. На приведенном выше рисунке левая боковая ручка была перемещена первой. Другое решение существует, когда правая боковая ручка движется первой. Но для этой проблемы вы должны дать только одно решение, и это также предполагает, что левая ручка движется первой.
[Предположение: вход может быть любым четным числом от 02 до 14 (т.е. от 1 до 7 совпадающих палочек на каждой стороне). Для входных данных, выходящих за пределы этого диапазона, вам не нужно выполнять какую-либо проверку, а также не нужно предоставлять никаких сообщений об ошибках. Примечание. В выходных данных каждый шаг отделяется знаком «|». (труба) персонажа. Программисты на языке COBOL всегда должны принимать PIC 9 (2) в качестве размера ввода и могут также предполагать, что вывод имеет фиксированную максимальную длину 450 символов, дополненную пробелами справа.]
Пример ввода:
02
Пример вывода:
01To02|03To01|02To03|
Пример ввода:
04
Пример вывода:
02To03|04To02|05To04|03To05|01To03|02To01|04To02|03To04|
Пример ввода:
06
Пример вывода:
03To04|05To03|06To05|04To06|02To04|01To02|03To01|05To03|07To05|06To07|04To06|02To04|03To02|05To03|04To05|



