तो, यहाँ एक नक्शा है, चलो कहते हैं, एक तहखाने ...
##########
# #####
# #####
##########
##########
##########
##########
#### ##
#### ##
##########
मान लीजिए कि नायक कक्ष ए (ऊपर बाईं ओर) और उनके लक्ष्य (संकट में राजकुमार?) कक्ष बी (नीचे दाईं ओर) में है। हमारा नक्शा नायक को उनके लक्ष्य की प्रगति की अनुमति नहीं देता है।
हम एक मार्ग को जोड़ने की जरूरत है ...
##########
# #####
# #####
####.#####
####.#####
####.#####
####.#####
#### ##
#### ##
##########
वहाँ, बहुत बेहतर!
नियम
- एक प्रोग्राम या फ़ंक्शन जो एक कालकोठरी मानचित्र (हैश और रिक्त स्थान से बना है, नई पंक्ति वर्णों से अलग पंक्तियों के साथ) को स्वीकार करता है।
- यह सभी स्थानों में मार्ग को दर्शाने के लिए जोड़े गए डॉट्स के साथ एक मानचित्र को आउटपुट करेगा जो अंतरिक्ष वर्णों के बीच एक सीधा मार्ग पर है।
- यह लाइन की लंबाई, या लाइनों की संख्या को नहीं बदलेगा।
- रिक्त स्थान से रिक्त स्थान तक सभी एक सीधी रेखा में हैं।
- मार्ग कोनों के चारों ओर नहीं बदल सकते हैं
- वे रिक्त स्थान और मानचित्र के किनारे के बीच नहीं होंगे।
- किसी भी भाषा का उपयोग करें।
- सबसे कम बाइट्स में रूपांतरण करने का प्रयास करें।
- यदि कोई मार्ग नहीं खींचा जा सकता है, तो अपरिवर्तित नक्शे को वापस करें।
- मानचित्र में हमेशा सभी किनारों के आसपास हैश होना चाहिए (आपको किनारे पर रिक्त स्थान को संभालने की आवश्यकता नहीं है)।
- इनपुट मानचित्र हमेशा आयताकार होते हैं, प्रत्येक पंक्ति की चौड़ाई समान होनी चाहिए।
परीक्षण के मामलों
#### ####
# # => # #
# # # #
#### ####
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
########## ####.#####
########## ####.#####
#### ## #### ##
#### ## #### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##########
########## => ##########
########## ##########
########## ##########
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ####.#####
########## => ####.#####
#### ### #### ###
########## ######.###
###### ## ###### ##
###### ## ###### ##
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## ##..######
########## => ##..######
########## ##..######
########## ##..######
## ####### ## .######
## ###### ## ######
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
########## => #.########
########## #.########
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
# ##### # #####
# ##### # #####
########## #.########
##### ### => #.### ###
##### ### #.### ###
####### # #.##### #
####### # #.##### #
# ##### # # ..... #
########## ##########
########## ##########
## # ## #
########## ##......##
########## ##......##
########## => ##......##
########## ##......##
########## ##......##
########## ##......##
# ## # ##
########## ##########
########## ##########
#### #### #### ####
####### ## ####..# ##
###### ### ####.. ###
# ### ## # => # ... .. #
# ## ### # # .. ... #
### ###### ### ..####
## ####### ## #..####
#### #### #### ####
########## ##########
#
और से भिन्न वर्णों का उपयोग कर सकता हूं.
?