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 সन्तুষ্ট।