इनपुट:
दो तार बिना न्यूलाइन्स या व्हाट्सएप के।
आउटपुट:
अलग पंक्ति में दोनों इनपुट तार, रिक्त स्थान जहां आवश्यक साथ † दो तार में से एक के लिए। और पात्रों के साथ एक तीसरी लाइन A
, R
, M
और प्रतिनिधित्व जोड़ा , हटाया , संशोधित , और अपरिवर्तित ।
† हम या तो ऊपर या नीचे इनपुट स्ट्रिंग (यदि हमें करना है) के लिए रिक्त स्थान जोड़ते हैं । इस चुनौती का लक्ष्य कम से कम परिवर्तनों ( ARM
) के साथ उत्पादन करना है, जिसे लेवेंसहाइट दूरी भी कहा जाता है ।
उदाहरण:
मान लें कि इनपुट स्ट्रिंग्स हैं ABCDEF
और AFBECD
फिर, आउटपुट यह होगा:
A B CDEF
AFBECD
A A RR
यहाँ उदाहरण के रूप में कुछ अन्य संभावित अवैध आउटपुट हैं (और भी बहुत कुछ हैं):
ABCDEF
AFBECD
MMMMM
A BCDEF
AFBECD
A MMMR
AB CDEF
AFBECD
MAMMMR
ABC DEF
AFBECD
MMAMMR
ABC DEF
AFBECD
MMAA RR
ABCDEF
AFB ECD
MMR MA
AB CDEF // This doesn't make much sense,
AFBECD // but it's to show leading spaces are also allowed
AM A RR
इनमें से किसी में भी केवल चार बदलाव नहीं हैं, इसलिए केवल A B CDEF\nAFBECD \n A A RR
इस चुनौती के लिए एक वैध आउटपुट है।
चुनौती नियम:
- आप यह मान सकते हैं कि इनपुट स्ट्रिंग्स में कोई नई लाइनें या स्थान नहीं होंगे।
- दो इनपुट तार अलग-अलग लंबाई के हो सकते हैं।
- वैकल्पिक अग्रणी / अनुगामी स्थानों को छोड़कर, दो इनपुट स्ट्रिंग्स में से एक जैसा होना चाहिए।
- यदि आपकी भाषा ASCII के अलावा किसी चीज का समर्थन नहीं करती है, तो आप मान सकते हैं कि इनपुट में केवल मुद्रण योग्य ASCII वर्ण होंगे।
- इनपुट और आउटपुट प्रारूप लचीला है। आपके पास तीन अलग स्ट्रिंग्स हो सकते हैं, एक स्ट्रिंग सरणी, नई लाइनों के साथ एक स्ट्रिंग, 2 डी चरित्र सरणी, आदि।
- आपको इसके बजाय कुछ और का उपयोग करने की अनुमति है
ARM
, लेकिन आपने जो उपयोग किया है उसे बताएं (जैसे123
, याabc.
, आदि) - यदि एक से अधिक मान्य आउटपुट एक ही राशि के परिवर्तनों (
ARM
) के साथ संभव है , तो आप यह चुन सकते हैं कि क्या संभव आउटपुट या उनमें से सभी को आउटपुट करने के लिए। अग्रणी और अनुगामी स्थान वैकल्पिक हैं:
A B CDEF AFBECD A A RR
या
"A B CDEF\nAFBECD\n A A RR" ^ Note there are no spaces here
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा फोन।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
In: "ABCDEF" & "AFBECD"
Output (4 changes):
A B CDEF
AFBECD
A A RR
In: "This_is_an_example_text" & "This_is_a_test_as_example"
Possible output (13 changes):
This_is_an _example_text
This_is_a_test_as_example
MAAAAAAA RRRRR
In: "AaAaABBbBBcCcCc" & "abcABCabcABC"
Possible output (10 changes):
AaAaABBbBBcCcCc
abcABCab cABC
R MM MMMR MM R
In: "intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}" & "intf(){intr=(int)(Math.random()*10);returnr>0?r%2:2;}"
Possible output (60 changes):
intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}
intf(){i ntr=( i n t)(M ath.r andom ()* 10 );returnr>0?r%2:2;}
MR M MRRRRRR RRRR RRRRRR MMMRR MMMMRRR RRRRRRRR MRRRRRRRRR RRRRRRRRRR
In: "ABCDEF" & "XABCDF"
Output (2 changes):
ABCDEF
XABCD F
A R
In: "abC" & "ABC"
Output (2 changes):
abC
ABC
MM