কম্পিউটার

প্রদত্ত স্ট্রিং খারাপ কি না তা পরীক্ষা করার জন্য C++ প্রোগ্রাম


ধরুন আমাদের n অক্ষর সহ একটি স্ট্রিং S আছে। S-এ ছোট হাতের ইংরেজি অক্ষর এবং ')' অক্ষর রয়েছে। স্ট্রিংটি খারাপ, যদি শেষে ')' অক্ষরের সংখ্যা অবশিষ্ট অক্ষরের সংখ্যার চেয়ে কঠোরভাবে বেশি হয়। আমাদের পরীক্ষা করতে হবে এস খারাপ কিনা।

সুতরাং, যদি ইনপুটটি S ="fega))))))" এর মত হয়, তাহলে আউটপুটটি সত্য হবে, কারণ এটি খারাপ কারণ এখানে 4টি অক্ষর এবং 6') রয়েছে৷

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

ans := 0
n := size of S
i := n - 1
while (i >= 0 and S[i] is same as ')'), do:
   (decrease i by 1)
z := n - 1 - i
ans := 2 * z - n
if ans > 0, then:
   return true
Otherwise
   return false

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

bool solve(string S) {
   int ans = 0;
   int n = S.size();
   int i = n - 1;
   while (i >= 0 && S[i] == ')')
      i--;
   int z = n - 1 - i;
   ans = 2 * z - n;
   if (ans > 0)
      return true;
   else
      return false;
}
int main() {
   string S = "fega))))))";
   cout << solve(S) << endl;
}

ইনপুট

"fega))))))"

আউটপুট

1

  1. একটি গাছ উচ্চতা ভারসাম্যপূর্ণ কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম C++ এ

  2. একটি গ্রাফ দৃঢ়ভাবে সংযুক্ত কি না তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  3. একটি প্রদত্ত স্ট্রিং কীওয়ার্ড কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. একটি প্রদত্ত স্ট্রিং Heterogram কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম