কম্পিউটার

C++ প্রোগ্রাম চেক করার জন্য আমরা তৃতীয় স্ট্রিং থেকে অদলবদল করে দুটি স্ট্রিং সমান করতে পারি


ধরুন আমাদের তিনটি স্ট্রিং S, T এবং U একই দৈর্ঘ্যের n আছে। 0 থেকে n-1 রেঞ্জের প্রতিটি সূচক i এর জন্য, আমাদের অবশ্যই S[i] বা T[i] এর সাথে U[i] অদলবদল করতে হবে। তাই মোট আমরা n সোয়াপিং অপারেশন সঞ্চালিত হয়েছে. আমাদের চেক করতে হবে এই ধরনের n অপারেশনের পর আমরা স্ট্রিং S কে ঠিক T এর মতই করতে পারি কিনা।

সুতরাং, যদি ইনপুটটি S ="abc" এর মত হয়; T ="bca"; U ="bca", তাহলে আউটপুট হবে True, কারণ সকল i এর জন্য যদি আমরা U[i] কে S[i] এর সাথে অদলবদল করি, তা হবে "bca", এবং T ইতিমধ্যেই "bca"।

পদক্ষেপ

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

শুরু করার জন্য
for initialize i := 0, when S[i] is non-zero, update (increase i by 1), do:
   if S[i] is not equal to U[i] and T[i] is not equal to U[i], then:
      return false
   return true

উদাহরণ

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

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

bool solve(string S, string T, string U) {
   for (int i = 0; S[i]; ++i)
      if (S[i] != U[i] && T[i] != U[i])
         return false;
   return true;
}
int main() {
   string S = "abc";
   string T = "bca";
   string U = "bca";
   cout << solve(S, T, U) << endl;
}

ইনপুট

"abc", "bca", "bca"

আউটপুট

1

  1. C++ এ দুটি বাইনারি স্ট্রিং যোগ করার জন্য প্রোগ্রাম

  2. দুটি স্ট্রিং চেক করার প্রোগ্রাম অক্ষর অদলবদল করে সমান হতে পারে বা পাইথনে নয়

  3. একটি স্ট্রিং অদলবদল পাইথন ব্যবহার করে স্ট্রিং সমান করতে পারে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. আমরা পাইথনে প্রদত্ত স্ট্রিং অক্ষর থেকে কে প্যালিনড্রোম তৈরি করতে পারি কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম?