ধরুন আমরা কীবোর্ড ব্যবহার করে ‘A’ অক্ষরটি লেখার চেষ্টা করব। আমাদের লক্ষ্য হল মাত্র চারটি কী ব্যবহার করা এবং টেক্সট ফিল্ডে সর্বোচ্চ 'A' লেখার চেষ্টা করা। কীগুলি হল 'A', 'C', 'V', এবং 'Ctrl'৷
৷সর্বাধিক সংখ্যক A লিখতে, আমরা সমস্ত নির্বাচন করতে Ctrl + A, অনুলিপি করতে Ctrl + C এবং পেস্ট করতে Ctrl + V ব্যবহার করব।
সুতরাং, ইনপুট যদি হয় কীস্ট্রোকের সংখ্যা 7 এর মত তাহলে A তিনবার চাপলে আউটপুট হবে 9।
তারপর Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+V
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
যদি কীস্ট্রোক <=6, তাহলে
-
কীস্ট্রোক ফেরত দিন
-
-
n :=1 থেকে 6 এর জন্য, করুন
-
ফলাফল[n-1] :=n
-
-
n :=7 থেকে কীস্ট্রোকের জন্য, করুন
-
ফলাফল[n-1] :=0
-
ব্রেকপয়েন্টের জন্য :=n-3 1 থেকে নিচে, করুন
-
curr :=(n – ব্রেকপয়েন্ট - 1)*ফলাফল[ব্রেকপয়েন্ট - 1]
-
যদি curr> ফলাফল[n-1], তাহলে
-
ফলাফল[n - 1] :=curr
-
-
-
-
ফলাফল[কীস্ট্রোকস - 1]
উদাহরণ
আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -
#include<iostream> using namespace std; int keyNumbers(int keystrokes){ //find number of 'A's using 4 types of keys if (keystrokes <= 6) //if keystrokes are less than 7 return keystrokes; int result[keystrokes]; //store intermediate results for (int n=1; n<=6; n++) //upto 6 keystrokes, we need that number of keystrokes for max result[n-1] = n; for (int n=7; n<=keystrokes; n++){ //for 7th to higher result[n-1] = 0; //initially store 0 as result for (int breakPoint=n-3; breakPoint>=1; breakPoint--){ //find breakpoint to select, copy and paste 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; }
ইনপুট
7
আউটপুট
Enter Number of keystrokes: Maximum Number of A's with 0 keystrokes is: 0