आपका दोस्त कंप्यूटर के साथ बहुत अच्छा नहीं है, क्योंकि एक व्यावहारिक मजाक के रूप में किसी ने उसके कीबोर्ड पर अक्षरों (az) को स्क्रैम्बल किया। जब वह बैठ गया और उसने कीबोर्ड को देखते हुए अपना नाम लिखने की कोशिश की, तो उसे महसूस हुआ कि पत्रों को खंगाल कर आपकी मदद मांगी गई है।
आप स्मार्ट हैं इसलिए आप जानते हैं कि यदि वह अपना नाम टाइप करता है और फिर बार-बार अपने नाम के बजाय स्क्रीन पर आता है तो वह अपने नाम में इनपुट करने में सफल होगा। आप भी कुंजी टाइप करते हैं और उसे पुनर्व्यवस्थित करते हैं, लेकिन यह जानना चाहते हैं कि सफल होने में कितने मोड़ आएंगे।
आपका कार्य एक प्रोग्राम या फ़ंक्शन लिखना है, जिसमें अक्षरों का फेरबदल दिया गया है और मित्र का नाम बदल जाता है।
इनपुट विवरण:
- आपकी भाषा के लिए सुविधाजनक संरचना में इनपुट के रूप में दो तार दिए गए हैं।
- पहला तार पुराने लोगों के वर्णमाला क्रम में नए लोअरकेस अक्षरों की सूची है। (पहला चरित्र वह है जो की स्थिति में है
a
, पिछले एक की स्थिति में हैz
।) कुछ बदलाव हमेशा स्ट्रिंग में होंगे। - दूसरा तार नाम है। इसमें कोई भी प्रिंट करने योग्य एससीआई चरित्र शामिल हो सकता है लेकिन केवल ऊपरी और निचले वर्णमाला के वर्णों को फेरबदल किया जाएगा यदि कोई हो। हो सकता है कि नाम ही अल पर फेरबदल न हो।
आउटपुट विवरण:
- आउटपुट एक पूर्णांक है जो न्यूनतम आवश्यक रूप से मुड़ता है। न्यूलाइन वैकल्पिक है।
उदाहरण:
इनपुट:
'abcfdeghijklmnopqrstuvwxyz' 'Mr. John Doe'
(डी, ई, एफ पदों में बदलाव)
आउटपुट:
3
(दिखाए गए नाम हैं: Mr. John Fod
=> Mr. John Eof
=> Mr. John Doe
)
इनपुट:
'nopqrstuvwxyzabcdefghijklm' 'Mr. John Doe'
( ROT13 सिफर )
आउटपुट:
2
(कोई भी इनपुट नाम जिसमें अक्षर शामिल 2
हैं, मूल नाम का उत्पादन करने के लिए राउंड लेगा ।)
इनपुट:
'aebcdjfghiqklmnopzrstuvwxy' 'John Doe'
आउटपुट:
140
यह कोड-गोल्फ है इसलिए सबसे छोटी प्रविष्टि जीतती है।
EOF
पूरी तरह से अद्भुत है!
aebcdjfghiqklmnopzrstuvwxy
(आउटपुट 1260 के लिएMr John Doe
)। यह अधिकतम संभव है - इसमें क्रम 4, 5, 7, 9 (और एक अपरिवर्तितa
) के चक्र शामिल हैं, और प्रत्येक नाम जिसमें प्रत्येक चक्र से कम से कम एक अक्षर होता है, 1260 होगा। और मुझे लगता है कि वर्णमाला को इनपुट के रूप में लेना या अप्रभावित नाम का उपयोग करना भी महत्वपूर्ण किनारे के मामले हैं।