यह सवाल ब्रेन-फ्लैक के पहले जन्मदिन को मनाने के लिए डिज़ाइन की गई कई ब्रेन-फ्लैक बर्थडे चुनौतियों में से दूसरा है! आप ब्रेन-आलोचना का जन्म-दिन के बारे में अधिक जानकारी पा सकते हैं यहाँ
चुनौती
इस चुनौती के लिए आप कोष्ठक की सूची से पूरी तरह से मेल खाते हुए तार पैदा करेंगे। पूरी तरह से मिलान स्ट्रिंग की डीजेएमकेमहेम की परिभाषा उधार लेने के लिए :
इस चुनौती के प्रयोजन के लिए, एक "ब्रैकेट" इन पात्रों में से किसी प्रकार है:
()[]{}<>
।ब्रैकेट की एक जोड़ी को "मिलान" माना जाता है यदि उद्घाटन और समापन ब्रैकेट सही क्रम में हैं और उनके अंदर कोई वर्ण नहीं है, जैसे कि
() []{}
या अगर इसके अंदर का हर सबमेलमेंट भी मैच हो जाए।
[()()()()] {<[]>} (()())
घनीभूत परतों को भी कई परतों में घोंसला बनाया जा सकता है।
[(){<><>[()]}<>()] <[{((()))}]>
एक स्ट्रिंग को "पूरी तरह से मिलान" माना जाता है यदि और केवल अगर ब्रैकेट के प्रत्येक जोड़े में सही क्रम में सही उद्घाटन और समापन ब्रैकेट है।
इनपुट
आपका कार्यक्रम या फ़ंक्शन किसी भी सुविधाजनक, सुसंगत प्रारूप में चार गैर-ऋणात्मक संख्याओं की एक सूची लेगा। इसमें पूर्णांक, एक गैर-अंक सीमांकित स्ट्रिंग, या अलग-अलग तर्कों की सूची शामिल है (लेकिन यह सीमित नहीं है)। ये चार संख्याएं प्रत्येक प्रकार के ब्रैकेट के मिलान जोड़े की संख्या को दर्शाती हैं। उदाहरण के लिए, [1,2,3,4]
प्रतिनिधित्व करेंगे:
की 1 जोड़ी
()
के 2 जोड़े
{}
के 3 जोड़े
[]
औरके 4 जोड़े
<>
आप चुन सकते हैं कि प्रत्येक इनपुट कोष्ठक की किस जोड़ी से संगत है।
उत्पादन
आपको सभी पूरी तरह से मिलान वाले स्ट्रिंग का उत्पादन करना चाहिए जो कि डुप्लिकेट के बिना कोष्ठक की इस सूची से बन सकते हैं। आउटपुट किसी भी उचित प्रारूप में हो सकता है जिसमें एक गैर-ब्रैकेट सीमांकित स्ट्रिंग को STDOUT या किसी फ़ंक्शन से वापसी मान के रूप में स्ट्रिंग की सूची शामिल करना शामिल है।
आपका एल्गोरिथ्म किसी भी मनमाने इनपुट के लिए काम करना चाहिए, लेकिन आपको मेमोरी, समय या पूर्णांक आकार सीमाओं के बारे में चिंता करने की आवश्यकता नहीं है (जैसे कि यदि आपका उत्तर C में है तो आपको इनपुट के रूप में 2 33 नहीं मिलेगा )।
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
उदाहरण इनपुट और आउटपुट
इन उदाहरणों के लिए मैं ऊपर के समान इनपुट ऑर्डर का उपयोग करूंगा।
प्रत्येक उदाहरण के लिए, पहली पंक्ति इनपुट होगी और निम्नलिखित लाइनें आउटपुट होंगी
Example 0:
[0,0,0,0]
Example 1:
[1,0,0,0]
()
Example 2:
[0,2,0,0]
{}{}
{{}}
Example 3:
[0,0,1,1]
[]<>
[<>]
<[]>
<>[]
Example 4:
[0,1,2,0]
{}[][] {}[[]] {[]}[] {[][]} {[[]]}
[{}][] [{}[]] [{[]}] []{}[] []{[]}
[][{}] [][]{} [[{}]] [[]{}] [[]]{}
Example 5:
[1,0,0,3]
()<><><> ()<><<>> ()<<>><> ()<<><>> ()<<<>>> (<>)<><> (<>)<<>>
(<><>)<> (<><><>) (<><<>>) (<<>>)<> (<<>><>) (<<><>>) (<<<>>>)
<()><><> <()><<>> <()<>><> <()<><>> <()<<>>> <(<>)><> <(<>)<>>
<(<><>)> <(<<>>)> <>()<><> <>()<<>> <>(<>)<> <>(<><>) <>(<<>>)
<><()><> <><()<>> <><(<>)> <><>()<> <><>(<>) <><><()> <><><>()
<><<()>> <><<>()> <><<>>() <<()>><> <<()><>> <<()<>>> <<(<>)>>
<<>()><> <<>()<>> <<>(<>)> <<>>()<> <<>>(<>) <<>><()> <<>><>()
<<><()>> <<><>()> <<><>>() <<<()>>> <<<>()>> <<<>>()> <<<>>>()
Example 6:
[1,1,1,1]
(){}[]<> (){}[<>] (){}<[]> (){}<>[] (){[]}<> (){[]<>} (){[<>]}
(){<[]>} (){<>}[] (){<>[]} ()[{}]<> ()[{}<>] ()[{<>}] ()[]{}<>
()[]{<>} ()[]<{}> ()[]<>{} ()[<{}>] ()[<>{}] ()[<>]{} ()<{}[]>
()<{}>[] ()<{[]}> ()<[{}]> ()<[]{}> ()<[]>{} ()<>{}[] ()<>{[]}
()<>[{}] ()<>[]{} ({})[]<> ({})[<>] ({})<[]> ({})<>[] ({}[])<>
({}[]<>) ({}[<>]) ({}<[]>) ({}<>)[] ({}<>[]) ({[]})<> ({[]}<>)
({[]<>}) ({[<>]}) ({<[]>}) ({<>})[] ({<>}[]) ({<>[]}) ([{}])<>
([{}]<>) ([{}<>]) ([{<>}]) ([]){}<> ([]){<>} ([])<{}> ([])<>{}
([]{})<> ([]{}<>) ([]{<>}) ([]<{}>) ([]<>){} ([]<>{}) ([<{}>])
([<>{}]) ([<>]){} ([<>]{}) (<{}[]>) (<{}>)[] (<{}>[]) (<{[]}>)
(<[{}]>) (<[]{}>) (<[]>){} (<[]>{}) (<>){}[] (<>){[]} (<>)[{}]
(<>)[]{} (<>{})[] (<>{}[]) (<>{[]}) (<>[{}]) (<>[]){} (<>[]{})
{()}[]<> {()}[<>] {()}<[]> {()}<>[] {()[]}<> {()[]<>} {()[<>]}
{()<[]>} {()<>}[] {()<>[]} {([])}<> {([])<>} {([]<>)} {([<>])}
{(<[]>)} {(<>)}[] {(<>)[]} {(<>[])} {}()[]<> {}()[<>] {}()<[]>
{}()<>[] {}([])<> {}([]<>) {}([<>]) {}(<[]>) {}(<>)[] {}(<>[])
{}[()]<> {}[()<>] {}[(<>)] {}[]()<> {}[](<>) {}[]<()> {}[]<>()
{}[<()>] {}[<>()] {}[<>]() {}<()[]> {}<()>[] {}<([])> {}<[()]>
{}<[]()> {}<[]>() {}<>()[] {}<>([]) {}<>[()] {}<>[]() {[()]}<>
{[()]<>} {[()<>]} {[(<>)]} {[]()}<> {[]()<>} {[](<>)} {[]}()<>
{[]}(<>) {[]}<()> {[]}<>() {[]<()>} {[]<>()} {[]<>}() {[<()>]}
{[<>()]} {[<>]()} {[<>]}() {<()[]>} {<()>}[] {<()>[]} {<([])>}
{<[()]>} {<[]()>} {<[]>()} {<[]>}() {<>()}[] {<>()[]} {<>([])}
{<>}()[] {<>}([]) {<>}[()] {<>}[]() {<>[()]} {<>[]()} {<>[]}()
[(){}]<> [(){}<>] [(){<>}] [()]{}<> [()]{<>} [()]<{}> [()]<>{}
[()<{}>] [()<>{}] [()<>]{} [({})]<> [({})<>] [({}<>)] [({<>})]
[(<{}>)] [(<>){}] [(<>)]{} [(<>{})] [{()}]<> [{()}<>] [{()<>}]
[{(<>)}] [{}()]<> [{}()<>] [{}(<>)] [{}]()<> [{}](<>) [{}]<()>
[{}]<>() [{}<()>] [{}<>()] [{}<>]() [{<()>}] [{<>()}] [{<>}()]
[{<>}]() [](){}<> [](){<>} []()<{}> []()<>{} []({})<> []({}<>)
[]({<>}) [](<{}>) [](<>){} [](<>{}) []{()}<> []{()<>} []{(<>)}
[]{}()<> []{}(<>) []{}<()> []{}<>() []{<()>} []{<>()} []{<>}()
[]<(){}> []<()>{} []<({})> []<{()}> []<{}()> []<{}>() []<>(){}
[]<>({}) []<>{()} []<>{}() [<(){}>] [<()>{}] [<()>]{} [<({})>]
[<{()}>] [<{}()>] [<{}>()] [<{}>]() [<>(){}] [<>()]{} [<>({})]
[<>{()}] [<>{}()] [<>{}]() [<>](){} [<>]({}) [<>]{()} [<>]{}()
<(){}[]> <(){}>[] <(){[]}> <()[{}]> <()[]{}> <()[]>{} <()>{}[]
<()>{[]} <()>[{}] <()>[]{} <({})[]> <({})>[] <({}[])> <({[]})>
<([{}])> <([]){}> <([])>{} <([]{})> <{()}[]> <{()}>[] <{()[]}>
<{([])}> <{}()[]> <{}()>[] <{}([])> <{}[()]> <{}[]()> <{}[]>()
<{}>()[] <{}>([]) <{}>[()] <{}>[]() <{[()]}> <{[]()}> <{[]}()>
<{[]}>() <[(){}]> <[()]{}> <[()]>{} <[({})]> <[{()}]> <[{}()]>
<[{}]()> <[{}]>() <[](){}> <[]()>{} <[]({})> <[]{()}> <[]{}()>
<[]{}>() <[]>(){} <[]>({}) <[]>{()} <[]>{}() <>(){}[] <>(){[]}
<>()[{}] <>()[]{} <>({})[] <>({}[]) <>({[]}) <>([{}]) <>([]){}
<>([]{}) <>{()}[] <>{()[]} <>{([])} <>{}()[] <>{}([]) <>{}[()]
<>{}[]() <>{[()]} <>{[]()} <>{[]}() <>[(){}] <>[()]{} <>[({})]
<>[{()}] <>[{}()] <>[{}]() <>[](){} <>[]({}) <>[]{()} <>[]{}()