লোকেরা ডিভোরক বা নিওয়ের মতো নতুন কীবোর্ড লেআউটগুলি শিখার জন্য ক্লান্তিকরভাবে এই চলমান ক্রেজ বলে মনে হয় কারণ এটি তাদেরকে আরও উত্পাদনশীল করে তোলে। আমি যুক্তি দিয়েছি যে কীবোর্ড লেআউটগুলি স্যুইচ করা একটি খারাপ ধারণা, কারণ গতি পেতে আপনাকে কয়েক মাস সময় লাগতে পারে এবং আপনি যখন বাকীটির চেয়ে চূড়ান্তভাবে 5% দ্রুত থাকেন, আপনি যদি এমন কোনও কম্পিউটারে টাইপ করতে চান তবে আপনি স্ক্রুযুক্ত হবেন তোমার নিজের নয়
এছাড়াও, এই সমস্ত লোকেরা ভুলে যায় যে আধুনিক যোগাযোগের আসল বাধা কোথায় রয়েছে - টেলিফোনের কীপ্যাড।
আপনার গড় টেলিফোন কীপ্যাডটি এমনভাবে দেখায়:
চিঠি 'আর' বোতাম 7 এর তৃতীয় অক্ষর; সুতরাং আপনি যদি মোবাইল ফোনে 'আর' অক্ষরটি টাইপ করেন তবে আপনি তিনবার বোতামটি টিপবেন would এর জন্য আপনি এটি 4 বার চাপতে চান, এবং 'এ' এর জন্য আপনি একবার বোতাম 2 টি চাপতে পারেন।
এটি বিবেচনা করে, 'ডি' এর পরে 'ই' লাগানো সম্ভবত একটি খারাপ সিদ্ধান্ত ছিল - 'ই' ইংরেজি বর্ণমালায় সর্বাধিক ব্যবহৃত অক্ষর, সুতরাং, যদি আপনি "ডিইএফ" এর পরিবর্তে বোতাম 3 "ইডিএফ" লেবেল করেন, আপনি কীস্ট্রোকের অনেকগুলি সঞ্চয় করবে।
তদতিরিক্ত, আপনি সম্ভবত নিজেরাই অনুভব করেছেন যে একই বোতামটি ভাগ করে নেওয়ার জন্য 2 টি অক্ষর টাইপ করা একটি উপদ্রব - আপনি যদি "টিইউ" লিখতে চান তবে আপনি 8 টি মাত্র তিনবার আঘাত করতে পারবেন না কারণ এর ফলে 'ভি' হবে would সুতরাং সাধারণত আপনি 'টি' লিখতেন, তারপরে স্পেসটি চাপুন, তারপরে ব্যাকস্পেসে চাপুন এবং তারপরে 'ইউ' লিখুন, যা 3 এর পরিবর্তে 5 টি বোতাম টিপুন।
টি এল; ডিআর
এই দুটি নিয়ম দেওয়া:
- N বার বোতাম টিপে একটি চিঠি টাইপ করা হয়, যেখানে n বোতামের লেবেলে যে চিঠিটি থাকে তার অবস্থান
- একই বাটন ব্যবহার করে টাইপ করা দুটি অক্ষর লেখার জন্য অতিরিক্ত 2 বোতাম টিপতে হবে
একটি নির্দিষ্ট পাঠ্য দেওয়া হলে টেলিফোন কীবোর্ড বিন্যাসের জন্য কমপক্ষে কী পরিমাণ বোতাম টিপতে হবে? আপনার কেবলমাত্র 2-9, 1 এবং 0 বোতামটি বিশেষ চিহ্নগুলির জন্য সংরক্ষিত আছে।
ইনপুট
আপনি যে পাঠ্যের জন্য সর্বোত্তম বিন্যাসটি সন্ধান করতে হবে তা স্টিডিনের মাধ্যমে সরবরাহ করা হয়। আপনার ছোট হাতের বর্ণমালা ছাড়া অন্য কিছু হ্যান্ডেল করার দরকার নেই এবং ধরে নিতে পারেন ইনপুটটিতে কেবল এটিই রয়েছে of আপনি ধরে নিতে পারেন যে ইনপুট পাঠ্যটি যুক্তিসঙ্গতভাবে বড় এবং প্রতিটি অক্ষর অন্তত একবার সেখানে উপস্থিত থাকে, যদি এটি সাহায্য করে।
আউটপুট
আমি আউটপুটটিতে খুব বেশি প্রতিবন্ধকতা রাখতে চাই না, যেহেতু এটি কখনও কখনও কিছু ভাষাকে অন্যের চেয়ে সুবিধা দেয়; সুতরাং আপনার ভাষা দেখায় অ্যারেগুলি ঠিক আছে, বিকল্পভাবে আপনি প্রতিটি লাইনকে একটি নতুন লাইন দিয়ে আলাদা করতে পারেন।
একাধিক সম্ভাব্য অনুকূল বিন্যাস থাকতে পারে, আপনি এগুলির যে কোনও একটি মুদ্রণ করতে পারেন। এখানে একটি সাধারণ উদাহরণ:
>> echo "jackdawslovemybigsphinxofquartz" | foo.sh
ojpt
avhz
cen
skm
dyf
wbq
ixu
lgr
বোনাস পয়েন্ট
-35 যদি আপনার অ্যালগরিদম সমস্ত সম্ভাব্য বিন্যাসকে জোর করে চাপিয়ে না দেয় (আমি এখানে হাস্কেলের `অনুমানের দিকে তাকিয়ে আছি)
-3 যদি আপনার কোড কোনও পাঠ্য বার্তার (140 অক্ষর) ভিতরে ফিট করে এবং আপনি কোনও বন্ধুকে আপনার কোডটি প্রেরণ করার একটি ছবি পোস্ট করেন।
এটি স্ট্যাক এক্সচেঞ্জে আমার প্রথম চ্যালেঞ্জ। আপনি এটি পছন্দ করেন কিনা তা শুনে খুশি হলাম, বা এটি সম্পর্কে অন্য কোনও প্রতিক্রিয়া আছে!
26! / (2! * 6!) = 280,063,514,671,253,913,600,000 > 2^77
কেবলমাত্র একবারে কীগুলির সরল পুনঃস্থাপনগুলি গণনা করা হচ্ছে সেখানে অনন্য অনুমতি রয়েছে ।