ধরুন, আমাদের একটি স্ট্রিং দেওয়া হয়েছে যেটি শুধুমাত্র দুটি অক্ষর a এবং b দিয়ে তৈরি। আমাদের খুঁজে বের করতে হবে স্ট্রিংটি anbn ফর্মের কিনা, বা অন্য কথায় এটিতে a এর n সংখ্যা এবং b এর n সংখ্যা রয়েছে। সত্য হলে, আমরা 1 ফেরত দিই অন্যথায় 0।
সুতরাং, যদি ইনপুট "aaaaaaaaaabbbbbbbbbb" এর মত হয়, তাহলে আউটপুটটি সত্য হবে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- দৈর্ঘ্য :=ইনপুট_স্ট্রিং এর দৈর্ঘ্য
- আরম্ভ করার জন্য i :=0, যখন i <দৈর্ঘ্য, আপডেট (i 1 দ্বারা বাড়ান), &মাইনাস করুন
- যদি input_string[i] 'a' এর সমান না হয়, তাহলে −
- লুপ থেকে বেরিয়ে আসুন
- যদি input_string[i] 'a' এর সমান না হয়, তাহলে −
- যদি i * 2 দৈর্ঘ্যের সমান না হয়, তাহলে −
- মিথ্যে ফেরত দিন
- j শুরু করার জন্য :=i, যখন j <দৈর্ঘ্য, আপডেট করুন (j 1 দ্বারা বৃদ্ধি করুন), করুন −
- যদি input_string[j] 'b' এর সমান না হয়, তাহলে −
- মিথ্যে ফেরত দিন
- যদি input_string[j] 'b' এর সমান না হয়, তাহলে −
- সত্যে ফিরে আসুন
উদাহরণ (C++)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; bool solve(string input_string) { int length = input_string.length(); int i; for (i = 0; i < length; i++) if (input_string[i] != 'a') break; if (i * 2 != length) return false; for (int j = i; j < length; j++) if (input_string[j] != 'b') return false; return true; } int main() { string input_string = "aaaaaaaaaaaabbbbbbbbbbbb"; cout << solve(input_string)<< endl; return 0; }
ইনপুট
"aaaaaaaaaaaabbbbbbbbbbbb"
আউটপুট
1