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

C++ প্রোগ্রাম: সর্বোচ্চ k দৈর্ঘ্যের প্যালিনড্রোম সাবস্ট্রিংসহ স্ট্রিং তৈরি

n এবং k দেওয়া আছে। 'a', 'b', 'c' ক্যারেক্টার দিয়ে দৈর্ঘ্য n-এর একটি স্ট্রিং S বানাতে হবে যেন এর কোনো প্যালিনড্রোম সাবস্ট্রিংর দৈর্ঘ্য k-র চেয়ে বড় না হয়।

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

'a', 'b', 'c' ক্যারেক্টারগুলো সাইклиক্যালি ব্যবহার করুন: a, b, c, a, b, c... এটি নিশ্চিত করে যে ৩টির বেশি রিপিট হয়না, তাই প্যালিনড্রোম দৈর্ঘ্য ২-র বেশি হয়না।

উদাহরণ

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

string solve(int n, int k) { 
    string S = ""; 
    int j = 0; 
    for (int i = 0; i < n; i++) { 
        S += char(j + 'a'); 
        j = (j + 1) % 3; 
    } 
    return S; 
} 

int main() { 
    int n = 3, k = 2; 
    cout << solve(n, k) << endl; 
    return 0; 
}

ইনপুট

3, 2

আউটপুট

abc

ব্যাখ্যা

n=3, k=2 হলে "abc" বানে। এর প্যালিনড্রোম সাবস্ট্রিং গুলো: "a", "b", "c" (দৈর্ঘ্য ১)। k=2 সन्तুষ্ট।

  1. C++-এ সাবস্ট্রিংকে অন্য সাবস্ট্রিং দিয়ে রিপ্লেস করা

  2. স্ট্রিংয়ের দৈর্ঘ্য (Length) বের করার C++ প্রোগ্রাম

  3. পাইথনে m আকারের অ্যালফাবেট থেকে n দৈর্ঘ্যের স্ট্রিং তৈরি যেখানে প্যালিনড্রোমিক সাবস্ট্রিং নেই

  4. পাইথনে একটি স্ট্রিং-এ সর্বোচ্চ দৈর্ঘ্যের পুনরাবৃত্ত সাবস্ট্রিং খুঁজে বের করার প্রোগ্রাম