কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: nটি বৈধ ব্র্যাকেট সিকোয়েন্স খুঁজে বের করা

মান লিখুন: আমাদের কাছে একটি সংখ্যা n রয়েছে। ব্র্যাকেট সিকোয়েন্স বলতে শুধুমাত্র '(' এবং ')' karakter দিয়ে তৈরি একটি স্ট্রিংকে বোঝায়। একটি বৈধ ব্র্যাকেট সিকোয়েন্স হল এমন একটি সিকোয়েন্স যা মূল ক্যারেক্টারগুলোর মাঝে '1' এবং '+' চিহ্ন বসিয়ে একটি সঠিক গাণিতিক অভিব্যক্তিতে রূপান্তরিত করা যায়। উদাহরণস্বরূপ, "()()" একটি বৈধ সিকোয়েন্স কারণ এখানে 1 বসিয়ে "(1)+(1)" বানানো যায়। সংখ্যা n থেকে আমাদের ২n দৈর্ঘ্যের ঠিক nটি ভিন্ন বৈধ ব্র্যাকেট সিকোয়েন্স বের করতে হবে।

উদাহরণ

যদি ইনপুট হয় n = 4, তবে আউটপুট হবে ["()()()()", "(())()()", "((()))()", "(((())))"]

সমাধানের ধাপসমূহ

for k := 1 থেকে n পর্যন্ত:
    for i := 1 থেকে k পর্যন্ত:
        "(" প্রিন্ট করুন
    for i := 1 থেকে k পর্যন্ত:
        ")" প্রিন্ট করুন
    for i := k+1 থেকে n পর্যন্ত:
        "()" প্রিন্ট করুন
    নতুন লাইন প্রিন্ট করুন

C++ বাস্তবায়ন

#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. সি++-এ একটি রেখার মিড-পয়েন্ট বের করার প্রোগ্রাম

  2. সি++-এ ত্রিভুজের কেন্ড্রয়েড (Centroid) বের করার প্রোগ্রাম

  3. সি++-এ পেন্টাগনের ক্ষেত্রফল বের করার প্রোগ্রাম

  4. সি++-এ সমান্তরাল চতুর্ভুজের (Parallelogram) ক্ষেত্রফল বের করার প্রোগ্রাম