পটভূমি
বারো-কয়েন সমস্যাটি ক্লাসিক ব্যালেন্স ধাঁধা যা সাধারণত কাজের সাক্ষাত্কারে ব্যবহৃত হয়। ধাঁধাটি প্রথম 1945 সালে প্রকাশিত হয়েছিল এবং আমার পিতাকে আমার দাদার কাছে যখন তিনি আমার মাকে বিয়ে করতে বলেছিলেন তখন তিনি তা প্রকাশ করেছিলেন! ধাঁধাটিতে বারোটি মুদ্রা রয়েছে যার মধ্যে একটি হ'ল অন্যদের চেয়ে ভারী বা হালকা (আপনি জানেন না কোনটি)। সমস্যাটি হল একটি ব্যালেন্স স্কেলগুলি অনন্য মুদ্রা নির্ধারণের জন্য তিনবার ব্যবহার করা। কিছু বৈকল্পিকতায় মুদ্রাটি ভারী বা হালকা কিনা তা সনাক্ত করাও দরকার।
এখানে টাস্কটিতে এন কয়েনগুলির সাথে জড়িত সাধারণ সমস্যা সমাধান করা , সবচেয়ে খারাপ ক্ষেত্রে সবচেয়ে কম ওজন ব্যবহার করা সম্ভব। মুদ্রাটি ভারী বা হালকা কিনা কেবল এটি কোনটি তা সনাক্ত করার প্রয়োজন নেই। তদ্ব্যতীত, প্রদত্ত সেটটির বাইরে আপনার কোনও অতিরিক্ত কয়েনের অ্যাক্সেস নেই (যা কৌতূহলজনকভাবে একটি পার্থক্য করে)।
দেখা যাচ্ছে যে কে-ওজন (3 ^ কে -1) / 2 কয়েনের জন্য যথেষ্ট (তাই এই প্রকরণের 4 টি ওজন আসলে 13 মুদ্রা পরিচালনা করতে পারে)। তদ্ব্যতীত (এবং আশ্চর্যজনকভাবে), ভবিষ্যতের ওজন অতীত ফলাফলের উপর নির্ভরশীল না হয়ে আগাম ওজনের পুরো সেট নির্বাচন করা সম্ভব (তবে এখানে প্রয়োজনীয় নয়)। দুটি সম্ভাব্য সমাধানের বিবরণের জন্য, এই কাগজটি এবং এই কোওর উত্তরটি দেখুন ।
কার্য
কোনও ফাংশন বা প্রোগ্রাম লিখুন, STDIN, কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট হিসাবে একটি পূর্ণসংখ্যা n গ্রহণ করে , যা নিকৃষ্টতম ক্ষেত্রে সবচেয়ে কম ওজন ব্যবহার করে এন কয়েনগুলির জন্য সমস্যাটি সমাধান করে । প্রোগ্রামটি করা উচিত:
1,2,3-4,5,6স্কেলের প্রতিটি পাশের মুদ্রার তালিকাগুলি সূচিত করতে ফর্ম্যাটটিতে ওজন STDOUT এ মুদ্রণ করুন । যে কোনও মুদ্রা ওজন হচ্ছে না তা উল্লেখ করা উচিত নয়। কয়েনগুলি স্পষ্টভাবে 1 থেকে n পর্যন্ত গণনা করা হয় এবং সংখ্যার ক্রমে মুদ্রণ করা দরকার না (সুতরাং2,1-3,4যেমন হয় তেমন1,2-3,4)।- প্রতিটি ওজন করার পরে প্রোগ্রামটির STDIN এর মাধ্যমে একটি ইনপুটটির জন্য অপেক্ষা করা উচিত, যা হওয়া উচিত
<,=বা>, স্কেলটির বাম দিকটি হালকা, একই বা ডান পাশের চেয়ে ভারী কিনা তা নির্দেশ করে। - শেষ ওজনের ফলাফলের পরে, প্রোগ্রামটি অনন্য মুদ্রার নম্বর মুদ্রণ করে বা ফিরিয়ে আনবে।
- প্রোগ্রামটির ব্যবহারকারীর কাছ থেকে অসম্পূর্ণ ফলাফলের ইনপুটগুলি হ্যান্ডেল করা উচিত নয়।
- প্রোগ্রাম হ্যান্ডেল করার প্রয়োজন নেই এন 3 কম।
উদাহরণ আউটপুট
>> 3
1-2
>> =
1-3
>> <
3
# using Quora algorithm
>> 13
1,2,3,4-5,6,7,8
>> <
1,2,5-3,4,6
>> >
3-4
>> <
3
# using paper algorithm
>> 13
1,2,3,4-5,6,7,8
>> <
2,6,7,9-3,8,10,11
>> >
6,8,10,12-4,5,7,11
>> =
3
স্কোরিং
সংক্ষিপ্ততম কোড জিতেছে। স্ট্যান্ডার্ড বিধি প্রয়োগ।