Module: सही ब्रैकेट अनुक्रम (पीआरएस)


Problem

4 /6


पीएसपी पीढ़ी

Theory Click to read/hide

चेक किए जाने के तरीके से सही ब्रैकेट अनुक्रमों की पीढ़ी सीधे होती है - हमें शुद्धता का उल्लंघन किए बिना नए ब्रैकेट जोड़ने की जरूरत है। यह पुनरावर्ती पुनरावृत्ति द्वारा किया जाता है। अगर आप उसे नहीं जानते - बीई... आह, नहीं, आप आगे पढ़कर समझने की कोशिश कर सकते हैं। यहाँ एक प्रकार के कोष्ठकों के लिए एक कोड नमूना दिया गया है:
 

<पूर्व शैली = "मार्जिन-बाएं: 0 पीएक्स; मार्जिन-दाएं: 0 पीएक्स"> #include <vector> #include <iostream> उपयोग नामस्थान एसटीडी; int n; // आधी लंबाई वेक्टर<char> उत्तर; // हमारा जवाब void rec(int बैलेंस) { if (ans.size() == 2 * n) { // अगर ऐसा होता है, तो हम किया < /span> for (int i = 0; i < 2 * n; i++) cout << उत्तर [मैं] << " "; cout << "\n"; } if (ans.size() + balance + 2 <= n * 2) { // जांचें, हम हम नए ओपनिंग ब्रेस को बंद कर देंगे // अब अपने हाथों को देखें: हमें प्रत्येक अनुक्रम के लिए एक अलग वेक्टर बनाने की आवश्यकता नहीं है ans.push_back('('); आरईसी (बैलेंस + 1); उत्तर.पॉप_बैक (); // इसे समझने के लिए, आपको रिकर्सन के बारे में पता होना चाहिए। सबसे पहले, हम वेक्टर में एक कोष्ठक जोड़ते हैं, और फिर हम इस सभी कोड को फिर से निष्पादित करते हैं। // यानी, यदि हम कर सकते हैं, तो फिर से कोष्ठक जोड़ें। // और यह तब तक होगा जब तक हम रिकर्सन को छोड़ना शुरू नहीं करते - यानी, जब तक हम वांछित लंबाई तक नहीं पहुंच जाते। // इसके बाद ब्रैकेट हटना शुरू हो जाएंगे। यदि आप इसे समझते हैं - मैं आपको बधाई देता हूं, आप बहुत अच्छे हैं। } if (balance > 0) { // अगर हम किसी ब्रैकेट को बंद कर सकते हैं, तो हम उसे बंद कर देते हैं। ans.push_back(')'); आरईसी (बैलेंस - 1); उत्तर.पॉप_बैक (); } } int main() { सिने>> एन; आरईसी (0); रिटर्न 0; }
और अब कठिनाइयों का समय - आपको कई प्रकार के कोष्ठकों के लिए एल्गोरिथम स्वयं लिखना होगा! मुहाहाहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहहह!

Problem

<दिव>

ब्रिटिश साइंटिस्ट्स, इंक. का सबसे नवीन विकास किसी भी समस्या का समाधान खोजने का एक तरीका है जिसे टिल्ड-ओमेगा-लैम्ब्डा कैलकुलस (अर्थात, किसी के लिए नहीं) का उपयोग करके हल किया जा सकता है। ऐसा करने के लिए, वे x लंबाई के सभी संभावित ब्रैकेट अनुक्रमों से गुजरते हैं, जहां x कंपनी के कई विकासों में उपयोग किए जाने वाले गुप्त स्थिरांक का पहला अंक है। यदि x विषम है, तो वे इसमें केवल एक जोड़ते हैं। फिर वे शब्दों का पता लगाने के लिए न्यूरो-भाषाई प्रोग्रामिंग और फाइबोनैचि कंप्यूटेड गोगोल्ड कैटलन नंबरों का उपयोग करके उन्नत एल्गोरिदम का उपयोग करते हैं। लेकिन इन एल्गोरिदम को पहले ही लागू और पेटेंट करा लिया गया है। 

आपका काम पुनरावृत्ति एल्गोरिदम लागू करना है। 


इनपुट
इनपुट गुप्त स्थिरांक का पहला अंक है - x (\(1 <= x <= 9\)).  ;
 

आउटपुट
आपको x (या x+1 if \(x \% 2 ==1\) लंबाई के सभी स्पैन को आउटपुट करने की आवश्यकता है ) शब्दकोषीय क्रम में।

 

उदाहरण
<टेबल क्लास = "टेबल-बॉर्डर्ड टेबल-लिस्ट-टेस्ट टेबल-एसएम टेबल-स्ट्राइप्ड"> <सिर> <वें># <वें>इनपुट <वें>आउटपुट <शरीर> 1 1 <टीडी>
( )
[ ]
{}