इस चुनौती में आप एक प्रोग्राम लिखेंगे जिसमें दो न्यूलाइन-सेपरेटेड स्ट्रिंग्स, 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
यहाँ एक अजगर लिपि की एक कड़ी है जो दूरी और चरणों को छापती है।
अतिरिक्त नियम:
- इंटरनेट का कोई उपयोग नहीं
- मानक खामियां लागू होती हैं
यह कोड-गोल्फ है इसलिए आप कोड को छोटा रखें; सबसे छोटा कोड जीत!
s1(newline)s2
, हालाँकि, प्रश्न पर फिर से गौर करते हुए, मैं सोच रहा था कि क्या इसके बजाय आप प्रोग्राम के लिए 2 इनपुट स्ट्रिंग्स की लंबाई के आधार पर s1 और s2 का चयन करना चाहते हैं, आने वाले किसी भी क्रम में, क्या आप इस बिंदु को स्पष्ट करेंगे? यही है, क्या हम मानते हैं कि इनपुट s1 के बाद s2 है, या क्या हम दो इनपुट की लंबाई के आधार पर s1 और s2 का चयन करते हैं?