Trong thử thách này, bạn sẽ viết một chương trình lấy hai chuỗi phân tách dòng mới, s1 (dòng đầu tiên) và s2 (dòng thứ hai), làm đầu vào (STDIN hoặc gần nhất). Bạn có thể giả sử rằng chiều dài của s1 sẽ luôn nhỏ hơn 30 và lớn hơn chiều dài của s2. Chương trình sau đó sẽ xuất từng bước trong khoảng cách levenshtein từ s1 đến s2.
Để làm rõ mỗi bước trong khoảng cách levenshtein có nghĩa là gì, chương trình sẽ in n chuỗi, trong đó n là khoảng cách levenshtein giữa s1 và s2 và khoảng cách levenshtein giữa hai chuỗi liền kề sẽ luôn là một. Thứ tự không quan trọng. Đầu ra phải được phân tách bằng dòng mới và không bao gồm s1, chỉ bao gồm các betwress và s2. Chương trình cũng nên chạy dưới một phút trên một máy tính hiện đại.
Ví dụ:
Đầu vào:
Programming
Codegolf
Đầu ra:
rogramming
Cogramming
Coramming
Coamming
Codmming
Codeming
Codeging
Codegong
Codegolg
Codegolf
Đầu vào:
Questions
Answers
Đầu ra:
uestions
Aestions
Anstions
Ansions
Answons
Answens
Answers
Đầu vào:
Offline
Online
Đầu ra:
Ofline
Online
Đầu vào:
Saturday
Sunday
Đầu ra:
Sturday
Surday
Sunday
Đây là một liên kết đến một kịch bản python in ra khoảng cách và các bước.
Quy tắc bổ sung:
- Không sử dụng internet
- Áp dụng sơ hở tiêu chuẩn
Đây là mã golf, vì vậy hãy giữ cho bạn mã ngắn; chiến thắng mã ngắn nhất!
s1(newline)s2
, tuy nhiên, khi xem lại câu hỏi, tôi tự hỏi liệu thay vào đó bạn có dự định chọn chương trình chọn s1 và s2 dựa trên độ dài của 2 chuỗi được nhập không, sắp tới theo thứ tự nào, bạn có phiền làm rõ điểm này không? Nghĩa là, chúng ta giả sử đầu vào là s1 theo sau là s2 hay chúng ta chọn s1 và s2 dựa trên độ dài của hai đầu vào?