Тема: Анаграматор
Анаграматор — спеціальний пристрій для отримання зі слова його анаграм (тобто слів, які записані тими ж буквами, але в іншому порядку). Цей пристрій уміє виконувати 2 операції:
1) Взяти чергову букву вихідного слова і помістити її у стек;
2) Взяти букву зі стеку і добавити її у кінець вихідного слова;
Стек —це вмістилище даних, яке працює за принципом «перший прийшов – останній пішов». Стек можна уявити собі як дитячу пірамідку. Коли ми додаємо букву у стек, це відповідає тому, що на стержень пірамідки ми надіваємо зверху кільце, на якому написано відповідну букву. Коли беремо букву зі стеку , то це відповідає тому, що ми знімаємо зі стержня верхнє кільце і дивимося яка буква на ньому написана.
Наприклад, слово TROT у слово TORT може бути перетворене Анаграматором двома різними послідовностями операцій: 11112222 або 12112212.
Напишіть програму, яка за двома заданими словами обчислює кількість різних послідовностей операцій Анаграматора, які перетворюють перше з цих слів у друге, а також знаходить самі ці послідовності.
Формат вхідних даних
Перша стрічка вхідного файлу an_in.txt містить вхідне слово, а друга — слово, яке слід отримати. Слова містять тільки великі латинські букви і мають довжину не більше 50 символів. Обидва слова мають однакову довжину. В цих строках не міститься пробілів.
Формат вихідних даних
У першій стрічці вихідного файлу an_out.txt виводиться кількість послідовностей операцій Анаграматора з допомогою яких можна перетворити перше слово у друге, а також самі послідовності операцій. Кожна послідовність повинна бути виведена в окремій стрічці і містити лише цифри 1 і 2 (які вказують порядок виконання операцій), виведених без пробілів.
MADAM
ADAMM
1111222122
1111222212
1121212122
1121212212
4