1 Востаннє редагувалося Stroncickiy (27.01.2013 17:12:25)

Тема: Анаграматор

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


MADAM
ADAMM   
1111222122
1111222212
1121212122
1121212212
4

Re: Анаграматор

То що за ? Для чого синім текст робити ?

3

Re: Анаграматор

Ну що так ви краще розумієте суть   завдання

4

Re: Анаграматор

Із чим у вас виникли проблеми?

5

Re: Анаграматор

ну як реалізувати стек і запис в нього  и виведення я розумію 
але як зробити перебі елементів щось не тямлю

тут   процедура  напевно має рекурсивна бути  але яка?

6

Re: Анаграматор

Кількість операцій у нас відома, вона завжди в два рази більша за кількість літер. Можна почати із простого перебору усіх варіантів. Потім можна додати дострокове припинення обчислення деяких варіантів, коли стає зрозуміло, що вони нам не підходять. Можна й рекурсію застосувати.