इन पांच ASCII कला समुद्री जीवों पर विचार करें:
- मानक मछली:
><>
या<><
- शीघ्र मछली:
>><>
या<><<
- कठोर मछली:
><>>
या<<><
- स्ट्रेची मछली:
><<<>
या<>>><
- केकड़ा:
,<..>,
एक प्रोग्राम लिखें जो वर्णों की एक मनमानी स्ट्रिंग को स्वीकार करता है <>,.
। अगर पूरी व्याख्या करने का कोई तरीका है स्ट्रिंग को गैर-अतिव्यापी समुद्री जीवों की श्रृंखला के रूप में , तो स्ट्रिंग को प्राणियों के बीच एकल रिक्त स्थान के साथ पुनर्मुद्रित किया जाना चाहिए। यदि यह व्याख्या असंभव है, तो कुछ भी आउटपुट नहीं होना चाहिए (प्रोग्राम चुपचाप समाप्त हो जाता है)।
उदाहरण के लिए, स्ट्रिंग <><><>
को दो मानक मछली बैक-टू-बैक के रूप में व्याख्या की जा सकती है। इसी आउटपुट होगा<>< ><>
।
एक अन्य उदाहरण के रूप में, स्ट्रिंग ><>><>>
में "उदाहरण" हैं ...
(केवल संकेतक के रूप में जोड़े गए ब्रैकेट)
- कुछ मानक मछली:
[><>][><>]>
- एक तेज़ मछली:
><[>><>]>
- एक युगल तरीके से एक मजबूत मछली:
[><>>]<>>
और><>[><>>]
हालांकि, केवल एक मानक मछली और एक मजबूत मछली की जोड़ी [><>][><>>]
स्ट्रिंग की पूरी लंबाई के साथ होती है जिसमें मछली साझा करने वाले वर्ण (कोई ओवरलैप नहीं) होते हैं। इस प्रकार उत्पादन के अनुरूप ><>><>>
है ><> ><>>
।
यदि कई तरीके हैं जिनसे स्ट्रिंग की व्याख्या की जा सकती है, तो आप उनमें से किसी एक को प्रिंट कर सकते हैं। (और उनमें से केवल एक प्रिंट करें।) उदाहरण के लिए, <><<<><
एक मानक मछली और एक मजबूत मछली के रूप में व्याख्या की जा सकती है: [<><][<<><]
या एक तेज मछली और एक मानक मछली के रूप में [<><<][<><]
:। तो या तो <>< <<><
या <><< <><
वैध उत्पादन होगा।
केकड़े सिर्फ मनोरंजन के लिए हैं। चूंकि वे शुरू करने या के साथ समाप्त नहीं है <
या >
, वे बहुत पहचान करने के लिए (कम से कम नेत्रहीन) आसान होता है। उदाहरण के लिए, स्ट्रिंग
,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><>
जाहिर है उत्पादन का उत्पादन होगा
,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><>
यहाँ स्ट्रिंग के कुछ उदाहरण हैं (प्रति पंक्ति एक) जो कोई आउटपुट नहीं देते हैं:
<><>
,<..>,<..>,
>>><>
><<<<>
,
><><>
,<><>,
<<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<><
यदि आप अग्रणी को हटाते हैं तो यहां अंतिम स्ट्रिंग को पार्स किया जा सकता है <
:
<<>< ><<<> >><> ><> ><> <>< <>>>< >><> >><> >><> ><>> <<><
(अन्य संभावित आउटपुट हो सकते हैं।)
विवरण
- इनपुट स्ट्रिंग में केवल वर्ण होंगे
<>,.
। - इनपुट स्ट्रिंग कम से कम एक वर्ण लंबी होगी।
- इनपुट को किसी भी सामान्य तरीके से लें (कमांड लाइन, स्टडिन) और आउटपुट को स्टडआउट करें।
- बाइट्स में सबसे छोटा कोड जीतता है। ( हैंडी बाइट काउंटर। ) टाईब्रेकर पहले की पोस्ट है।