ASCII बॉक्स इस तरह दिखते हैं:
++ +---+ +------+ +---+ +---+
++ | | | | | | | |
| | | | | | | |
+-+ | | | | | | | |
+-+ | | | | | | +---+
+---+ | | | |
+--+ | | | | ++
| | | | | | ||
| | +------+ | | ||
+--+ | | ||
+---+ ||
||
+-----+ ||
+------------+ | | ++
| | | |
| | | |
+------------+ +-----+
यहाँ एक ही ASCII बक्से के कुछ उदाहरण दिए गए हैं:
++ +- -+ +- -+ +- -+ +- -+
++ | - | | - - | | - | | - |
| | | -- | | | | |
+-+ | | | | " | - |
+-+ | - | || | | +- -+
+- -+ | | | |
+--+ | -- | | | ++
| | | - - | " ||
| | +- -+ | | ||
+--+ | - | | |
+- -+ | |
-- ||
- - +- -+ ||
+- - - -+ | - - | ++
| -- -- | | = |
| -- -- | | - - |
+- - - -+ +- -+
- -
--
यहाँ एक आसान-से-प्रतिलिपि प्रारूप में इन सभी परीक्षण केस बॉक्स का लिंक दिया गया है। आदेश सभी इनपुट के बाद सभी आउटपुट एक ही क्रम में है।
आपका लक्ष्य इनपुट के रूप में एक ASCII बॉक्स लेना है, और फूटा हुआ बॉक्स वापस करना है। प्रत्यारोपण के नियम हैं:
- "+" कभी नहीं बदलता; न तो "-" या "|" सीधे "+" से सटे
- कोनों से शुरू, "-" और "|" कोने के करीब एक ही चरित्र की तुलना में एक स्थान से अधिक अंदर की ओर ले जाएँ। अगर एक "-" और "|" कभी भी एक ही स्थान पर जा सकते हैं, न ही चलते हैं।
- यदि एक "-" और "-" एक ही स्थान पर जाते हैं, तो उस स्थान पर "=" डालें। यदि एक "|" और "|" उसी स्थान पर जाने के लिए, "उस स्थान पर" रखें। ये दोनों एक ही स्थान पर अपने संबंधित वर्णों के विपरीत दिशाओं में चलते हैं।
- दो "-" या दो "|" एक दूसरे को पीछे छोड़ सकते हैं, जैसा कि नीचे बाएं उदाहरण में देखा गया है।
- यदि बॉक्स पर्याप्त पतला है, तो यह उसी तरह से बाहर की तरफ विस्तार करना शुरू कर देगा, हमेशा उस तरफ से दूर जा रहा है जहां से यह भाग शुरू हुआ था।
- परिणाम x और y दोनों दिशाओं में केंद्र रेखा के सममित होना चाहिए (नए सिरे से अनदेखी करना); इसमें रिक्त स्थान शामिल हैं, इसलिए परिणाम को संतुष्ट करने के लिए रिक्त स्थान के साथ गद्देदार होने की आवश्यकता हो सकती है।
नियम विवरण:
- यह कोड-गोल्फ है, इसलिए बाइट्स जीत में सबसे छोटा कार्यक्रम है।
- मानक खामियां लागू होती हैं।
- आप मान सकते हैं कि एक नई पंक्ति में प्रत्येक पंक्ति समाप्त होती है।
- इनपुट स्ट्रिंग में केवल वर्ण "+", "-", "|", "", और "\ n" (newline) होंगे, और आपके आउटपुट स्ट्रिंग को "=" जोड़कर समान नियमों का पालन करना चाहिए। और "संभव पात्रों के रूप में।
- अंतिम पंक्ति के अंत में आपके पास वैकल्पिक रूप से एक एकल अनुगामी नई रेखा हो सकती है।
- सबसे छोटा ASCII बॉक्स जिसे आपको संभालना है, वह शीर्ष-बाएँ उदाहरण है। प्रत्येक ASCII बॉक्स में इसके कोनों पर ठीक 4 "+" s होगा।
- आपको
m x nकिसी भी पूर्णांक के आकार के बक्से को संभालना होगाm,nजैसे कि2<=m,n<256(सबसे बड़ा संभव स्ट्रिंग आकार255*(255+1)) - आप मान सकते हैं कि आपको इनपुट के रूप में हमेशा एक ही मान्य ASCII बॉक्स मिलेगा।
||है कि उस उदाहरण में से एक को एक "या कुछ और होने की जरूरत है ...
"? मुझे लगता है कि "केवल 3-चौड़ा या अधिक दिखाई देता है?
"? बाईं ओर, या दाईं ओर? यह दोनों नहीं हो सकता है, लेकिन यह नहीं हो सकता है क्योंकि परिणाम सममित है।