এটি একটি সাধারণ ধাঁধা যা আপনারা অনেকে ম্যানুয়ালি সমাধান করেছেন। এখনই এটি সমাধান করার জন্য একটি অ্যালগরিদম লেখার সময়।
একে অপরের নির্দেশের মুখোমুখি দুটি ভিন্ন দিকে লাইনযুক্ত সমান সংখ্যক ম্যাচ লাঠি রয়েছে। তাদের মধ্যে একটি ফাঁকা জায়গা রয়েছে। নিম্নলিখিত চিত্রের মতো কিছু বলুন (যদি ম্যাচের কাঠির মোট সংখ্যা 4 হয়)।
প্রতিটি লাঠি হয় সামনের দিকের এক ধাপে স্লাইড করতে পারে (যদি তাত্ক্ষণিক সামনের স্থানটি বিনামূল্যে থাকে), বা এটি তাদের সম্মুখের একটি লাঠির উপর দিয়ে লাফিয়ে উঠতে পারে এবং খালি জায়গায় (যদি সেই স্থানটি বিনামূল্যে থাকে) land বিপরীত দিকে অগ্রসর হওয়া সম্ভব নয় (এমনকি জায়গাটিও নিখরচায়)। কোনও বিপরীত জাম্পও অনুমোদিত নয়। এক ধাপে কেবল একটি পদক্ষেপের অনুমতি রয়েছে।
এখন, আপনাকে সর্বনিম্ন পদক্ষেপগুলি জানতে প্রয়োজনীয় একটি অ্যালগরিদম লিখতে হবে যা ব্যবহার করে সমস্ত বাম পাশের ম্যাচের কাঠিগুলি ডান হাতের দিকে উঠবে এবং ডান হাতের সমস্ত ম্যাচের কাঠিগুলি বাম দিকে সরে যাবে।
উদাহরণস্বরূপ: যদি মোট 2 টি ম্যাচের কাঠি (প্রতিটি পক্ষের 1 টি) থাকে তবে পদক্ষেপগুলি হবে:
দ্রষ্টব্য: উপরের চিত্রটিতে বাম পাশের স্টিকটি প্রথমে সরানো হয়েছে। ডান পাশের লাঠিটি প্রথমে চলে গেলে আরও একটি সমাধান উপস্থিত থাকে। তবে এই সমস্যার জন্য আপনাকে কেবল একটি সমাধান দিতে হবে এবং এটি ধরে নেওয়াও হয় যে বাম দিকের স্টিকটি প্রথমে সরে যায়।
নিম্নলিখিত চিত্রটি 4 টি ম্যাচের কাঠি (প্রতিটি পক্ষের 2 টি) সহ চালগুলি বর্ণনা করে:
দ্রষ্টব্য: উপরের চিত্রটিতে বাম পাশের স্টিকটি প্রথমে সরানো হয়েছে। ডান পাশের লাঠিটি প্রথমে চলে গেলে আরও একটি সমাধান উপস্থিত থাকে। তবে এই সমস্যার জন্য আপনাকে কেবল একটি সমাধান দিতে হবে এবং এটি ধরে নেওয়াও হয় যে বাম দিকের স্টিকটি প্রথমে সরে যায়।
[অনুমান: ইনপুটটি 02 থেকে 14 এর মধ্যে যেকোনও সমান সংখ্যক (প্রতিটি পক্ষের 1 থেকে 7 টি ম্যাচের কাঠি) হতে পারে। এই সীমার বাইরে ইনপুটগুলির জন্য, আপনাকে কোনও বৈধতা দেওয়ার দরকার নেই, ত্রুটির কোনও বার্তা সরবরাহ করার প্রয়োজন নেই। দ্রষ্টব্য: আউটপুটে প্রতিটি পদক্ষেপ একটি '|' দ্বারা পৃথক করা হয়েছে (পাইপ) অক্ষর। সিবিওএল প্রোগ্রামাররা সবসময় পিআইসি 9 (2) কে ইনপুট আকার হিসাবে ধরে নিতে পারে এবং আউটপুটটিকে সর্বোচ্চ দৈর্ঘ্য 450 অক্ষর হিসাবে নির্ধারণ করতে পারে, ডানদিকে ফাঁকা স্থান সহ প্যাড করে ded]
নমুনা ইনপুট:
02
নমুনা আউটপুট:
01To02|03To01|02To03|
নমুনা ইনপুট:
04
নমুনা আউটপুট:
02To03|04To02|05To04|03To05|01To03|02To01|04To02|03To04|
নমুনা ইনপুট:
06
নমুনা আউটপুট:
03To04|05To03|06To05|04To06|02To04|01To02|03To01|05To03|07To05|06To07|04To06|02To04|03To02|05To03|04To05|