আপনার ধ্বংসাত্মক ক্যানো যাত্রার পরে , আপনি নদীর জলছবিগুলির শেষে একটি জলপ্রপাত থেকে পড়ে শেষ হয়ে গেলেন। আপনার ক্যানো বিস্ফোরিত হয়েছিল, তবে আপনি বিস্ফোরণ থেকে বাঁচতে পেরেছিলেন। তবে আপনার নদীর যাত্রা পুরোপুরি মানচিত্রের বাইরে চলে গেছে - আপনি এখন নিজেকে একটি বনের মাঝে হারিয়ে গিয়েছেন। ভাগ্যক্রমে, আপনার কাছে এখনও আপনার প্রোগ্রামিং দক্ষতা রয়েছে, তাই আপনি বনের মধ্য দিয়ে আপনার পথ সন্ধানে সহায়তা করার জন্য একটি গাছের পাশ দিয়ে একটি প্রোগ্রাম উত্কণ করার সিদ্ধান্ত নিয়েছেন। তবে গাছে তেমন কোনও পৃষ্ঠতল অঞ্চল নেই, সুতরাং আপনার প্রোগ্রামটি যথাসম্ভব সংক্ষিপ্ত করে তুলতে হবে।
বনটিকে ( ) n
দ্বারা অক্ষরের বর্গ হিসাবে বর্ণনা করা যায় , যা কেবল ছোট হাতের অক্ষর দ্বারা গঠিত । বন উদাহরণ:n
n > 5
a-z
anehcienwlndm
baneiryeivown
bnabncmxlriru
anhahirrnrauc
riwuafuvocvnc
riwnbaueibnxz
hyirorairener
ruwiiwuauawoe
qnnvcizdaiehr
iefyioeorauvi
quoeuroenraib
cuivoaisdfuae
efoiebnxmcsua
আপনি লক্ষ করেছেন যে এই বনে, a
উপরের বাম কোণ থেকে নীচে ডান কোণে অক্ষরগুলির একটি তির্যক রেখা রয়েছে । এটি বনের মধ্য দিয়ে একটি "পথ" যা আপনি যদি এটি অনুসরণ করেন তবে আপনাকে কোথাও নিয়ে যাবে। আপনার কাজটি এমন একটি প্রোগ্রাম লেখা যা একক পথ খুঁজে পাবে। এই চ্যালেঞ্জের মধ্যে একটি "পথ" কে কী বোঝায় তা আমি এখন আরও স্পষ্টভাবে বর্ণনা করব।
এই চ্যালেঞ্জের একটি "পাথ", একটি ব্রেসেনহ্যাম অ্যালগরিদম দিয়ে তৈরি করা হতে পারে এমনটির সাথে পরিচিত একটি লাইন হিসাবে সংজ্ঞায়িত করা হয়েছে , তবে অতিরিক্ত প্রয়োজনীয়তার সাথে যা:
- লাইনটি সর্বনিম্ন 6 টি অক্ষরের দীর্ঘ হওয়া আবশ্যক
- লাইনের প্রতিটি কল্লাইনার (সম্পূর্ণ সংলগ্ন) বর্ণের গ্রুপের দৈর্ঘ্য একই দৈর্ঘ্য হতে হবে ।
- এটি বনের এক প্রান্ত থেকে শুরু হয়ে বিপরীত প্রান্তে শেষ হবে ( সম্প্রসারণের জন্য আমার মন্তব্য এখানে দেখুন )
দ্বিতীয় প্রয়োজনীয়তা আরও পরিষ্কারভাবে ব্যাখ্যা করতে, নিম্নলিখিত লাইনটি বিবেচনা করুন:
aaa
aaa
aaa
aaa
aaa
এই লাইনটি অক্ষরগুলির কোলাইনারি "বিভাগগুলি" নিয়ে গঠিত, যার প্রতিটিই তিনটি অক্ষরের দীর্ঘ characters এটি একটি পথ হিসাবে যোগ্যতা অর্জন করে। এখন এই লাইনটি বিবেচনা করুন:
a
aa
a
aa
a
aa
এই লাইনটি কোলাইনারি "বিভাগগুলি" নিয়ে গঠিত যা হুবহু অক্ষরের একই দৈর্ঘ্য নয় (এদের মধ্যে কিছুটি 1 অক্ষর দীর্ঘ এবং এর মধ্যে কয়েকটি 2)। সুতরাং, এই এক পথ হিসাবে যোগ্য নয়।
আপনার প্রোগ্রাম, বনের একটি মানচিত্র দেওয়া, পথে ব্যবহৃত অক্ষর সনাক্ত করুন। সুবিধাজনক যাই হোক না কেন ইনপুট হ'ল (উদাঃ কমান্ড লাইন আর্গুমেন্ট, এসটিডিএন prompt()
, ইত্যাদি), এটি ভেরিয়েবলের আগে আরম্ভ করা যায় না। ইনপুটটির প্রথম অংশটি হল একক পূর্ণসংখ্যা n
যা বনের আকারের প্রতিনিধিত্ব করে (বন সর্বদা একটি বর্গক্ষেত্র)। এর পরে একটি স্থান এবং তারপরে একক স্ট্রিং হিসাবে পুরো বন forest উদাহরণস্বরূপ, উদাহরণস্বরূপ বনটি একটি ইনপুট হিসাবে, এর মতো উপস্থাপিত হবে:
13 anehcienwlndmbaneiryeivownbnabncmxlriruanhahirrnraucriwuafuvocvncriwnbaueibnxzhyirorairenerruwiiwuauawoeqnnvcizdaiehriefyioeorauviquoeuroenraibcuivoaisdfuaeefoiebnxmcsua
এর জন্য আউটপুট হবে:
a
কারণ চিঠিটি ব্যবহার করেই পথটি তৈরি হয় a
। বনের মধ্যে কেবল একটি পথ থাকবে। এটি কোড গল্ফ, তাই স্বল্প সংখ্যক অক্ষর জয় করে। আপনার যদি প্রশ্ন থাকে তবে মন্তব্যে জিজ্ঞাসা করুন।