आप एक एवेन्यू को देख रहे हैं, और किसी ने कचरा बाहर छोड़ दिया है! आपको कचरे को कूड़ेदान में डालकर, समस्या को ठीक करने में मदद करने के लिए एक कार्यक्रम लिखने की आवश्यकता है।
काम
एवेन्यू प्रिंट करने योग्य ASCII वर्णों की एक स्ट्रिंग से बना है, जैसे:
[[](dust)[]] car ((paper)vomit) (broken(glass)) [[] (rotten) fence (dirty)
यहाँ के कुछ कोष्ठक बेजोड़ हैं; वे सिर्फ डिकॉय हैं। क्या हम परवाह करते हैं कि कोष्ठक के मिलान सेट हैं।
एक कचरा कर सकते हैं एक स्ट्रिंग के साथ शुरू [
और अंत के साथ ]
, और आंतरिक रूप से मिलान ब्रैकेट और कोष्ठक के साथ। उदाहरण के लिए, []
और [[](dust)[]]
उपरोक्त स्ट्रिंग में कचरा डिब्बे हैं।
एक कचरा बैग एक स्ट्रिंग है , जो आंतरिक रूप से मिलान किए गए कोष्ठक और कोष्ठक के साथ शुरू (
और समाप्त होता )
है। उदाहरण के लिए, (dust)
उपरोक्त स्ट्रिंग में एक कचरा बैग है।
यह संभव है कि कुछ कचरा बैग पहले से ही कचरे के डिब्बे में हों। हालांकि, कम से कम एक को छोड़ दिया गया होगा, और हमें कचरा बैग को स्थानांतरित करने की आवश्यकता है ताकि वे सभी कचरा डिब्बे के अंदर हों। विशेष रूप से, प्रत्येक कूड़े के थैले के लिए जो वर्तमान में एक कूड़ेदान के अंदर नहीं है (यानी उस कूड़ेदान का एक विकल्प), हमें इसे स्ट्रिंग में इसके वर्तमान स्थान से हटाने की आवश्यकता है, और इसे एक ऐसे स्थान में डालें, जो कूड़ेदान के अंदर हो सकता है ।
यहां एक अतिरिक्त नियम है। क्योंकि हम कचरा कलेक्टरों पर बहुत ज्यादा पैसा खर्च नहीं करना चाहते हैं, और उनके मार्ग दाएं से बाएं एवेन्यू के साथ उन्हें ले जाता है, हम एक कचरा बैग ले जाना चाहते हैं बाईं ओर (सबसे महत्वपूर्ण कसौटी, यह मानते हुए हम पर ले जाने के लिए है सभी) और सबसे कम संभव दूरी (जब तक यह बाईं ओर ले जाया जाता है)। इसलिए उदाहरण के लिए, केवल सही आउटपुट
[can1](bag)[can2]
है
[can1(bag)][can2]
(बैग को केवल एक पात्र को पीछे की ओर ले जाते हुए)। इसके अतिरिक्त, बैग को उसी सापेक्ष क्रम में रहने की आवश्यकता है:
[can](bag1)(bag2)
बनना है
[can(bag1)(bag2)]
(यानी आप (bag2)
बाईं ओर नहीं रख सकते (bag1)
।)
स्पष्टीकरण
- बाएं कूड़ेदान के बाईं ओर कोई कचरा बैग नहीं होगा; यह हमेशा संभव होगा कि इसे बाईं ओर ले जाकर सभी कचरा कर सकें।
- स्थानांतरित करने के लिए हमेशा कम से कम एक बैग होगा। एक से अधिक भी हो सकते हैं।
- कचरा पेटी के अंदर एक कचरा कभी नहीं होगा (डिब्बे बहुत दूर फेंकने के लिए मूल्यवान हैं)।
- यदि एक बैग पहले से ही कैन के अंदर है, तो इसे अकेले छोड़ दें।
- यह व्हाट्सएप (न्यूलाइन सहित) अनुगामी इनपुट और आउटपुट के लिए ठीक है।
उदाहरण:
इनपुट:
[[](dust)[]] car ((paper)vomit) (broken(glass)) [[] (rotten) fence (dirty)
आउटपुट:
[[](dust)[]((paper)vomit)(broken(glass))] car [[(rotten)(dirty)] fence
इनपुट:
[]] (unusable) door (filthy) car
आउटपुट:
[(unusable)(filthy)]] door car