या शायद यह वास्तव में एक भूलभुलैया नहीं है, लेकिन फिर भी।
नियम:
इनपुट , दो लाइन स्ट्रिंग है से मिलकर
*
,1
,x
औरX
। उस तार के माध्यम से चलने के लिए एक भूलभुलैया है। लाइनों की लंबाई समान है ।आप
,
इन दो पंक्तियों के बीच इनपुट को एक स्ट्रिंग (अल्पविराम) या किसी सुविधाजनक विभाजक के रूप में ले सकते हैं । या आप अपने कार्य के लिए दोनों तर्कों को अलग-अलग तर्क के रूप में ले सकते हैं।आउटपुट स्ट्रिंग से बाहर निकलने के लिए आपके द्वारा उठाए जाने वाले कदमों की संख्या है (अंतिम चरण वह कदम है जो आपको स्ट्रिंग से बाहर ले जाता है)।
आप पहले प्रतीक से पहले ऊपरी बाएं कोने (उच्च रेखा) में शुरू करते हैं।
प्रत्येक चरण के लिए, आप एक प्रतीक (nth से (n + 1) वें स्थान ) तक आगे बढ़ते हैं । फिर, आप जिस चरित्र पर कदम रखते हैं, उसके आधार पर परिणाम भिन्न होता है। यहाँ प्रत्येक चार क्या है:
*
- कुछ भी तो नहीं। आप बस सामान्य रूप से उस पर कदम रखें।x
- एक बार जब आप उस पर कदम रखते हैं, तो लाइन को स्विच करें, लेकिन शुरुआत से उसी क्षैतिज दूरी पर रहें। उदाहरण के लिए, आपने उच्च रेखा की तीसरी स्थिति पर कदम रखा, औरx
यहां एक निचले हिस्से से मुलाकात की । फिर आप तुरंत निचली रेखा पर जाते हैं, लेकिन फिर से तीसरे स्थान पर।X
- लाइन स्विच करें और अगली स्थिति पर जाएं। उदाहरण वहाँ भी वही है, लेकिन आप तीसरे से आगे की स्थिति में भी जाते हैं (इस प्रकार आप अगली स्थिति में दूसरी पंक्ति पर हैं)।1
- बस अभी तक एक और स्थिति से आगे बढ़ना।
एक बार जब प्रत्येक पात्र अपना काम करता है, तो उसे एक स्थान से बदल दिया जाता है और अब "कार्य" नहीं किया जाता है।
उदाहरणों का पालन करें।
इनपुट :
x *
जैसा कि पहले कहा गया था, आप पहली पंक्ति के पहले प्रतीक से पहले शुरू करते हैं। पहला कदम आपको पत्र पर ले जाता है
x
और यह पत्र आपको दूसरी पंक्ति में ले जाता है। पत्रx
अब के रूप में कार्य नहीं करता हैx
, लेकिन इसके साथ बदल दिया गया है*
। यह बाद के उदाहरणों में अधिक प्रासंगिक होगा। अब आप निचली रेखा पर एक तारांकन पर हैं, और इसने आपको कुछ नहीं किया।दूसरा चरण आपको आगे बढ़ रहा है और आप स्ट्रिंग से बाहर निकलते हैं, इसलिए भूलभुलैया पूरा हो गया है, और इसने 2 कदम उठाए।
आउटपुट
2
।इनपुट :
xX* x1*
पहला चरण : आप आगे बढ़ते हैं
x
, जो आपकोx
निचली रेखा पर ले जाता है । यहां वह नियम आता है जो कहता है कि प्रयुक्त चरित्र को तारांकन के साथ बदल दिया गया है। फिर आप पहली पंक्ति पर वापस जाते हैं, लेकिन यह अबx
नहीं है, क्योंकि इसका उपयोग किया गया है और तारांकन बन गया है। इसलिए आप इस तारांकन पर सुरक्षित रूप से चले जाते हैं और चरण पूरा हो जाता है (अब आप पहली पंक्ति के पहले स्थान पर हैं)।दूसरा चरण : आप आगे बढ़ते हैं
X
, यह आपको निचली रेखा पर धकेलता है और फिर आपको आगे बढ़ाता है। अब आप दूसरी पंक्ति (तारांकन) की तीसरी स्थिति पर रहते हैं, कभी दूसरी स्थिति (जिसमें सम्मिलित होती है1
) पर नहीं गए।तीसरा चरण : आप स्ट्रिंग से बाहर निकलते हुए आगे बढ़ते हैं।
आउटपुट :
3
।
परीक्षण के मामलों:
इनपुट:
*1* xxx
आउटपुट:
3
। (क्योंकि1
आपको तीसरी स्थिति पर कूदना पड़ता है)। वहां आप दूसरी पंक्ति में कभी नहीं जाते हैं, लेकिन इसके लिए इनपुट का आवश्यक हिस्सा है।इनपुट:
*X*1*x x*1xx*
आउटपुट:
4
।इनपुट:
1x1x ***X
आउटपुट:
3
।इनपुट:
1*x1xxx1*x x*x1*11X1x
आउटपुट:
6
।इनपुट:
xXXXxxx111* **xxx11*xxx
आउटपुट:
6
।
"\n\n"
एक दो लाइन स्ट्रिंग है ...
1
, जैसा कि आप 1 पंक्ति से पहले शुरू करते हैं, फिर आप एक कदम आगे बढ़ते हैं, और फिर आप भूलभुलैया खत्म करते हैं ...