ভূমিকা
একটি জনপ্রিয় শব্দ ধাঁধা হ'ল এক শব্দকে অন্য এক ধরণের পদক্ষেপের মাধ্যমে রূপান্তর করা যা কেবলমাত্র একটি অক্ষর প্রতিস্থাপন করে এবং যার ফলে সর্বদা একটি বৈধ শব্দের ফলাফল হয়। উদাহরণস্বরূপ, ব্যাগ পাঁচটি ধাপের পথ দিয়ে ডিওজে রূপান্তর করতে পারে:
ব্যাগ -> বিট -> বিড়াল -> কোট -> সিওজি -> ডগ
এই ক্ষেত্রে ছোট পথগুলিও বিদ্যমান; উদাহরণ স্বরূপ:
ব্যাগ -> বিওজি -> ডগ
যদি কোনও গ্রাফ আঁকেন যার অক্ষকে শব্দের দ্বারা লেবেলযুক্ত একটি অক্ষর দ্বারা পৃথক যে কোনও জোড় শব্দের মধ্যে একটি প্রান্ত থাকে, তবে "বিএজি" থেকে "ডিওজি" পর্যন্ত সংক্ষিপ্ততম পথটি দুটি কিনারা নিয়ে গঠিত।
চ্যালেঞ্জ
আপনাকে এমন একটি প্রোগ্রাম লিখতে হবে যা শব্দের একটি "অভিধান" ইনপুট হিসাবে গ্রহণ করে যা সকলের দৈর্ঘ্য একই থাকে, যা অনুমতি দেওয়া শব্দের প্রতিনিধিত্ব করে যা কোনও পথ ধরে ধাপে প্রদর্শিত হতে পারে। এটি কমপক্ষে একটি "দীর্ঘতম সংক্ষিপ্ত পথ" আউটপুট করা উচিত, এটি, দুটি শব্দের মধ্যে একটি পথ যা:
এই দুটি শব্দের মধ্যে আর কোনও পথের চেয়ে বেশি নয়;
অন্ততপক্ষে তালিকার অন্য কোনও জোড় শব্দের মধ্যে সংক্ষিপ্ততম পথ হিসাবে।
উপরে বর্ণিত গ্রাফের প্রসঙ্গে, এই জাতীয় পথের দৈর্ঘ্য হ'ল গ্রাফের ব্যাস ।
অধঃপতনের ক্ষেত্রে যেখানে ইনপুট শব্দের কোনওটিই অন্যের মধ্যে রূপান্তরিত করা যায় না, দৈর্ঘ্যের শূন্যের কমপক্ষে একটি পথ আউটপুট আউট, অর্থাৎ একক শব্দ।
উদাহরণ
ইনপুট ["ব্যাগ", "ব্যাট", "বিড়াল", "খাট", "বিন্দু", "কুকুর"] এই ক্রমে সমস্ত ছয়টি শব্দের (বা বিপরীত ক্রম) অতিক্রম করে একটি পথ অর্জন করা উচিত, যেহেতু " এই অভিধানের মধ্যে ব্যাগ "থেকে" কুকুর "দীর্ঘতম অর্জনযোগ্য, পাঁচটি পদক্ষেপ।
ইনপুট ["ব্যাগ", "ব্যাট", "বট", "বিড়াল", "খাট", "ডট", "কুকুর"] "ব্যাগ, ব্যাট, বট, ডট, কুকুর" এবং / অথবা তার উলটাপালটা।
ইনপুট ["কোড", "গল্ফ", "পুরুষ", "বাজ", "তিল", "ভূমিকা", "ছাঁচ", "ঠান্ডা", "সোনার", "মোড"] "কোডের মধ্যে একটি পথ অর্জন করবে" এবং "গল্ফ"
ইনপুট ["এক", "দুটি", "ছয়", "দশ"] কোন প্রান্তের সাথে কোনও গ্রাফের সাথে সামঞ্জস্য করে, সুতরাং এক বা একাধিক একক-শব্দের (শূন্য দৈর্ঘ্য) পাথ আউটপুট দেয়।
যদি ইনপুটটিতে অসম দৈর্ঘ্যের কোনও দুটি শব্দ থাকে তবে আউটপুট নির্ধারিত হয়।
বিধি
- স্ট্যান্ডার্ড কোড গল্ফ বিধি প্রযোজ্য
- একাধিক "সংক্ষিপ্ত" পাথ থাকবে। আপনাকে অবশ্যই কমপক্ষে একটি আউটপুট দিতে হবে তবে আপনি যতটা ইচ্ছা আউটপুট মুক্ত।
- আপনার প্রোগ্রামে ইনপুট অভিধানটি কীভাবে পাস হবে তা আপনি নির্দ্বিধায়।
- বাইটস মধ্যে সংক্ষিপ্ত কোড।
[]বা [[]])?