У цьому виклику ви напишете програму, яка бере два вхідні рядки, розділені новими рядками, s1 (перший рядок) та s2 (другий рядок) як вхідні дані (STDIN або найближчі). Можна припустити, що довжина s1 завжди буде меншою за 30 і більшою, ніж довжина s2. Потім програма повинна виводити кожен крок на відстані левенштейна від s1 до s2.
Щоб уточнити, що означає кожен крок відстані Левенштейна, програма надрукує n рядків, де n - відстань Левенштейна між s1 і s2, а відстань Левенштайна між двома сусідніми рядками завжди буде одиницею. Порядок не має значення. Вихід повинен бути розділеним за новою лінією і не включати s1, тільки внутрішні та s2. Програма також повинна запускатись менше однієї хвилини на сучасному комп’ютері.
Приклади:
Вхід:
Programming
Codegolf
Вихід:
rogramming
Cogramming
Coramming
Coamming
Codmming
Codeming
Codeging
Codegong
Codegolg
Codegolf
Вхід:
Questions
Answers
Вихід:
uestions
Aestions
Anstions
Ansions
Answons
Answens
Answers
Вхід:
Offline
Online
Вихід:
Ofline
Online
Вхід:
Saturday
Sunday
Вихід:
Sturday
Surday
Sunday
Ось посилання на сценарій python, який друкує відстань та кроки.
Додаткові правила:
- Без використання Інтернету
- Застосовуються стандартні лазівки
Це код-гольф, тому тримай код короткий; виграє найкоротший код!
s1(newline)s2, проте, переглянувши питання ще раз, мені цікаво, чи замість цього ви призначені програмою вибрати s1 та s2, виходячи з довжини 2 введених рядків, що надходять в будь-якому порядку, ви б не заперечували уточнення цього пункту? Тобто чи вважаємо ми, що за входом йде s1, а за ним s2, чи вибираємо s1 та s2 виходячи з довжини двох входів?