আমরা কীবোর্ড ব্যবহার করে 'A' অক্ষর লিখতে চাই। লক্ষ্য হল শুধু চারটি কী ব্যবহার করে টেক্সট ফিল্ডে সর্বোচ্চ 'A' লিখা। কীগুলো হল: 'A', 'C', 'V' এবং 'Ctrl'।
সর্বোচ্চ 'A' লিখতে হলে Ctrl+A (সিলেক্ট অল), Ctrl+C (কপি) এবং Ctrl+V (পেস্ট) ব্যবহার করা হবে।
ইনপুট এবং আউটপুট
ইনপুট: কীস্ট্রোকের সংখ্যা, ধরা যাক ৭ আউটপুট: ৭ কীস্ট্রোক দিয়ে সর্বোচ্চ 'A' সংখ্যা: ৯ 'A' তিনবার চাপুন। তারপর Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+V
অ্যালগরিদম
keyNumbers(keyStrokes)
ইনপুট: কীস্ট্রোকের সংখ্যা।
আউটপুট: এই কীস্ট্রোকগুলো ব্যবহার করে সর্বোচ্চ অক্ষর সংখ্যা।
শুরু
যদি keyStrokes <= 6 হয়, তবে
ফেরত দিন keyStrokes
n := 1 থেকে 6 পর্যন্ত, করুন
result[n-1] := n
শেষ
n := 7 থেকে keyStrokes পর্যন্ত, করুন
result[n-1] := 0
breakpoint := n-3 থেকে 1 পর্যন্ত নিচের দিকে, করুন
curr := (n - breakpoint - 1) * result[breakpoint - 1]
যদি curr > result[n-1] হয়, তবে
result[n - 1] := curr
শেষ
শেষ
result[keyStrokes - 1] ফেরত দিন
শেষ
উদাহরণ (C++)
#include <iostream>
using namespace std;
int keyNumbers(int keystrokes) {
if (keystrokes <= 6)
return keystrokes;
int result[keystrokes];
for (int n=1; n<=6; n++)
result[n-1] = n;
for (int n=7; n<=keystrokes; n++) {
result[n-1] = 0;
for (int breakPoint=n-3; breakPoint>=1; breakPoint--) {
int curr = (n-breakPoint-1)*result[breakPoint-1];
if (curr > result[n-1])
result[n-1] = curr;
}
}
return result[keystrokes-1];
}
int main() {
int keystrokes;
cout << "Enter Number of keystrokes: "; cin >> keystrokes;
cout << "Maximum Number of A's with " << keystrokes << " keystrokes is: " << keyNumbers(keystrokes) << endl;
}
আউটপুট
Enter Number of keystrokes: 7 Maximum Number of A's with 7 keystrokes is: 9