[2015-10-30] Challenge #238 [Hard] Searching a Dungeon : dailyprogrammer



[2015-10-30] Challenge #238 [Hard] Searching a Dungeon : dailyprogrammer

Our hero is lost in a dungeon. You will be given ASCII maps of a few floors, her starting position, and her goal. On some floors there are holes in the ground/roof, so that you can move between floors. Some only open one way, so going up doesn't guarantee that you can thereafter go down.

Your goal is to paint the path the hero takes in the dungeon to go from their starting position to the goal.

Input Description

There are a few characters used to build the ASCII map.

'#' means wall. You cannot go here

' ' means empty. You can go here from adjacent positions on the same floor.

'S' means start. You start here

'G' means goal. You need to go here to find the treasure and complete the challenge!

'U' means up. You can go from floor 'n' to floor 'n+1' here.

'D' means down. You can go from floor 'n' to floor 'n-1' here.

Your output is the same as the input, but with '*' used to paint the route.

The route has to be the shortest possible route.

Lower floors are printed below higher floors

Example input:

#####  #S# #  # # #  #D#G#  #####    #####  #  U#  # ###  #  ##  #####  

Output Description

Your program should emit the levels of the dungeon with the hero's path painted from start to goal.

Example output:

#####  #S#*#  #*#*#  #D#G#  #####    #####  #**U#  #*###  #* ##  #####  

(It doesn't matter whether you paint over U and D or not)


Read full article from [2015-10-30] Challenge #238 [Hard] Searching a Dungeon : dailyprogrammer


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts