Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

n वैध ब्रैकेट अनुक्रम ढूंढने के लिए C++ प्रोग्राम


मान लीजिए हमारे पास एक संख्या n है। जैसा कि हम जानते हैं, एक ब्रैकेट अनुक्रम एक स्ट्रिंग है जिसमें केवल वर्ण "(" और ")" होते हैं। एक वैध ब्रैकेट अनुक्रम एक ब्रैकेट अनुक्रम है जिसे मूल अनुक्रम के वर्णों के बीच "1" और "+" वर्ण डालकर एक सही अंकगणितीय अभिव्यक्ति में बदला जा सकता है। इसलिए, यदि ब्रैकेट अनुक्रम "()()" की तरह है, तो यह वैध है क्योंकि हम 1 डाल सकते हैं जैसे "(1)+(1)"। संख्या n से, हमें लंबाई 2n के ठीक n अलग-अलग संभावित वैध ब्रैकेट अनुक्रम ढूंढने हैं।

उदाहरण के लिए, यदि इनपुट n = 4 है, तो आउटपुट ["()()()()", "(())()()", "((()))()", "(((())))"] होगा।

चरण

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

k := 1 से n तक, करें: i := 1 से k तक, करें: "(" प्रिंट करें i := 1 से k तक, करें: ")" प्रिंट करें i := k + 1 से n तक, करें: "()" प्रिंट करें अगली पंक्ति पर जाएं

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <bits/stdc++.h> using namespace std; void solve(int n) {    for (int k = 1; k <= n; k++) {       for (int i = 1; i <= k; i++)          cout << "(";       for (int i = 1; i <= k; i++)          cout << ")";       for (int i = k + 1; i <= n; i++)          cout << "()";       cout << endl;    } } int main() {    int n = 4;    solve(n); }

इनपुट

4

आउटपुट

()()()() (())()() ((()))() (((())))

  1. C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम C++ में रेखा का मध्य बिंदु खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, एक रेखा के प्रारंभिक और अंतिम बिंदु। हमारा कार्य C++ में रेखा का मध्य बिंदु खोजने के लिए एक प्रोग्राम बनाना है। समस्या विवरण यहां, हमारे पास प्रारंभिक और अंतिम बिंदु A(x1, y1) और B(x2, y2) वाली एक रेखा है। और हमें रेखा का मध्य बिंदु ज्ञात करना है। उद

  1. C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें एक 2D ऐरे दिया गया है जो त्रिभुज के तीन शीर्षों के निर्देशांक को दर्शाता है। हमारा कार्य C++ में त्रिभुज के केंद्रक (Centroid) ज्ञात करने का प्रोग्राम बनाना है।केंद्रक (Centroid) त्रिभुज का वह बिंदु है जहां त्रिभुज की तीनों मध्यिकाएं (medians) प्रतिच्छेद करती हैं।मध्यिका (Median)

  1. C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें दो मान दिए गए हैं जो समानांतर चतुर्भुज के आधार (base) और ऊंचाई (height) को दर्शाते हैं। हमारा कार्य C++ में समानांतर चतुर्भुज (Parallelogram) का क्षेत्रफल ज्ञात करने का प्रोग्राम बनाना है।समानांतर चतुर्भुज (Parallelogram) चार भुजाओं वाली एक बंद आकृति है जिसकी विपरीत भुजाएं समान औ