কোনও সাপকে কোনও ধাঁধা পূরণ করুন (এটি আটকা না হওয়া পর্যন্ত)।
সাপটি
সাপটি একটি পূর্ববর্তী বিন্দুতে শুরু হয়, ইস্ট নির্দেশ করে । এটা সবসময় একটি প্রাচীর বা তার শরীরের একটি অংশ অবিলম্বে না থাকার চলে আসে , LEFT তার মাথা ( "এর বাঁদিকের নিয়ম প্রাচীর অনুগামী "), যতক্ষণ না এটি আটকে পায় কারণ এটির মাথার চারপাশে চারটি দিকনির্দেশ দখল করছে। (দ্রষ্টব্য: একটি আটকে থাকা সাপ সম্ভবত সমস্ত পৌঁছনীয় স্থান পূরণ করতে পারে না, তবে এটি লক্ষ্য নয়!)
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি গোলকধাঁধাটিকে 2D পাঠ্য আকারে ইনপুট হিসাবে গ্রহণ করে:
- ইনপুটটি যেকোন যুক্তিসঙ্গত ফর্ম্যাটে থাকতে পারে: যেমন স্ট্রিংগুলির তালিকা, নতুন লাইনের সাথে একটি একক স্ট্রিং a
- গোলকধাঁধায় দেয়াল ("
#"), খালি জায়গা ("") এবং ঠিক একটি সূচনা পয়েন্ট ("o") রয়েছে। আপনি চয়ন করতে পারেন
- হয় ধরুন যে প্রথম এবং শেষ সারি এবং কলামটি পুরো দেয়াল;
- বা ধরে নিন যে প্রতিটি ইনপুটটিতে দেয়ালের একটি অন্তর্নিহিত বহিরাগত স্তর রয়েছে বলে মনে করা হয়
আপনি ধরে নিতে পারেন যে প্রারম্ভের পয়েন্টটির সরাসরি উপরে (উত্তর) উপরে একটি প্রাচীর রয়েছে (বা একটি অন্তর্নিহিত প্রাচীর) এবং সাপটি পূর্ব বা দক্ষিণ দিক থেকে একটি বৈধ প্রারম্ভিক চলন করতে পারে।
- আপনি ধরে নিতে পারেন যে পাঠ্যটিতে অন্য কোনও অক্ষর উপস্থিত নেই (আপনার ইনপুটগুলির যদি প্রয়োজন হয় তবে নতুন লাইনগুলি বাদে)।
- আপনি ধরে নিতে পারেন যে সমস্ত লাইন একই দৈর্ঘ্য।
এবং সাপটি আটকে যাওয়ার মুহুর্তে একটি স্ন্যাপশট সহ আউটপুট হিসাবে "ভরাট ধাঁধা" মুদ্রণ / ফেরত দেয় :
- সাপের দেহটি অক্ষরের দ্বারা প্রতিনিধিত্ব করা
>v<^হয় যেখানে এটির পরবর্তী অংশটি রয়েছে to - সাপের প্রারম্ভিক বিন্দু হয় তার শুরুতে দিক ("
>" যদি তাৎক্ষণিকভাবে ঘুরতে না পারে তবে) বা একটিoঅক্ষর (ধারাবাহিক হওয়ার দরকার নেই ) is - সাপের শেষ বিন্দু একটি
oচরিত্র
স্কোরিং
সাধারণ কোড গল্ফ: সংক্ষিপ্ততম কোড জিতেছে
উদাহরণ
in:
#################################
# o #
# #
# ## ### ## #
# ## ## ## ## #
# ## ## ## ## #
# ## ## ## ## #
# ## ## ## ## #
# ## ### ## #
# ## ##### ## #
# ## ##### ## #
# ## ### ## #
# ## ## #
# #
# #
#################################
out:
#################################
#>>>>>>>>>>>>>>>>>>>v>>>>>>>>>>v#
#^>>>>>>>>>>>>>>>>>v>>>>>>>>>>vv#
#^^ ##>>>>>>v###o>>>>>v## vv#
#^^ ##>^ ##>>>>^## >v## vv#
#^^ ##^ ## ## v## vv#
#^^ ##^ ## ## v## vv#
#^^ ##>^ ## ## >v## vv#
#^^ ##^< ### v<## vv#
#^^ ##^ ##### v## vv#
#^^ ##^ ##### v## vv#
#^^ ##^< ### v<## vv#
#^^ ##^<<<<<<<<<<<<<<<<## vv#
#^^<<<<<<<<<<<<<<<<<<<<<<<<<<<<v#
#^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#################################
অ্যানিমেটেড (চিত্রণ উদ্দেশ্যে):
সম্পাদনা করুন: নোট করুন, যখন সন্দেহ হয়, তখন সাপটি "বাম হাতটি" দেয়ালের উপরে রাখা উচিত, এটি কোণার অনুসরণ করে, 1-ব্লকের দূরে কোনও দেয়ালে লাফিয়ে না।
এটি আনার জন্য জোনাথন অ্যালান এবং উপরোক্ত ব্যাখ্যামূলক স্ন্যাপশটের জন্য ড্রাকো 18 ধন্যবাদ Thanks
অন্যান্য উদাহরণ
in:
####################
# o# #
# ###
# #
# ## #
# ###
####################
out:
####################
#>>>>>>>>>>>>>>vv# #
#^>>>>>>>>>>>>vvv###
#^^ v<<<o<<<<v>>v#
#^^<<<<##^<<<<<<v<<#
#^<<<<<<<<<<<<<<<###
####################
in:
####################
# o #####
# #####
# #
# ##
####################
out:
####################
# >>>>v#####
# v#####
# >>>>o#
# ##
####################
in:
################
#o #
# ########## #
# # # #
# # # #
# # # #
# # # # #
# # # #
# # # #
# # # #
# ############ #
# #
################
out:
################
#>>>>>>>>>>>>>v#
#>>v##########v#
#^#>>>>>>>>>v#v#
#^#>>>>>>>>vv#v#
#^#^>>>>>>vvv#v#
#^#^^# vvv#v#
#^#^^o<<<<<vv#v#
#^#^^<<<<<<<v#v#
#^#^<<<<<<<<<#v#
#^############v#
#^<<<<<<<<<<<<<#
################

