Back
Close

Bouncing Barry

Statement

 Goal

Barry the bouncing bunny is a bit braindead. Barry mindlessly jumps around on an infinitely large square grid, comprising tiles that initially display the . character. Each time Barry lands on a tile, the tile toggles between displaying . and #.

Barry's bouncing behavior is described with a space-separated sequence of directions d_1 d_2 d_3... followed by an index-matched integer sequence for bounce count b_1 b_2 b_3... Directions are any of the four cardinal directions NSEW. Bounce count describes how many tiles Barry bounces forward in a straight line. Turning does not count as a bounce.

After Barry has finished his bouncing business, print the appearance of the floor, cropped to the smallest rectangle that includes all #'s.

For example, the input
E S E
4 3 1

would produce the floor as shown:
........
..####..
.....#..
.....#..
.....##.
........

but this should be printed instead:
####.
...#.
...#.
...##

If no tiles show # at the end of Barry's bouncing, simply print . instead.
Input
Line 1: A string containing a space-separated sequence of characters NSEW representing bouncing direction
Line 2: A string containing a space-separated sequence of integers representing bounce count
Output
A map of the floor, consisting of characters # and .
Constraints
1 ≤ bounces per action ≤ 100000
1 ≤ sequence length ≤ 500
Example
Input
E S W
4 3 2
Output
####
...#
...#
.###

Tags
Ascii Art

Difficulty
Medium

Test cases
Meandering Test
Input
E S W 4 3 2
Output
#### ...# ...# .###

Validator Meander Validator
Input
S E S 2 3 1
Output
#... #### ...#

Exploring Test
Input
W S E S W N 2 4 1 3 4 1
Output
...## ...#. ...#. ...#. ...## ....# #...# #####

Validator Explore Validator
Input
E N E N W S 2 1 5 4 5 1
Output
.###### .#....# ......# ......# .###### ##.....

Spiraling Test
Input
N E S W N E S W N E S W 12 11 10 9 8 7 6 5 4 3 2 1
Output
############ #..........# #.########.# #.#......#.# #.#.####.#.# #.#.#..#.#.# #.#.#.##.#.# #.#.#....#.# #.#.######.# #.#........# #.########## #...........

Validator Spiral Validator
Input
N W S E N W S E N W S E N W S E 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Output
###############.. #.............#.. #.###########.#.. #.#.........#.#.. #.#.#######.#.#.. #.#.#.....#.#.#.. #.#.#.###.#.#.#.. #.#.#.#...#.#.#.. #.#.#.#...#.#.#.. #.#.#.#####.#.#.. #.#.#.......#.#.. #.#.#########.#.. #.#...........#.. #.#############.. #................ #################

Crossing Test
Input
S W W S E N W 5 2 1 2 5 4 4
Output
...#.. ...#.. .##.## ...#.# ####.# #....# ######

Validator Cross Validator
Input
N E S S W N E 6 2 2 2 3 1 3
Output
.### .#.# .#.# #.#. #.## .#..

Bobbing and Weaving Test
Input
E N S E S N E N S E S N W 4 2 3 1 3 5 2 1 4 2 8 3 2
Output
...#..#.. ....##... ###.#.#.. ...#..#.. ......### ........# ....#...# ........# ........# ......##. ......... ......... ........#

Validator Bobbing Validator
Input
N E W E W N E N S W E W N 6 2 3 5 2 4 3 1 1 2 6 4 4
Output
......#.... ......#.... ......#.... ........... ...#.#....# ...#....... ...#....... ...#....... ####.#..... .#......... .#......... .#......... .#......... .#.........

Tail-chasing Test
Input
N E W S N W E S W N E W E W N W S W N S E N E S W N E W S N E W S N E W E W E 4 3 3 3 4 2 3 6 1 3 7 7 7 7 3 1 1 1 1 1 1 1 2 6 1 5 4 4 2 2 4 4 1 1 3 3 2 1 1
Output
.

Validator Tail Validator
Input
S E W E W E N W E W E W N S E W N S E W N S W E W E N E S W N S W E N E W N S E W S W E W E N E W E 6 4 8 3 2 6 2 4 6 3 5 2 4 4 3 3 4 4 3 8 3 5 4 8 8 3 4 1 2 1 2 4 3 7 2 4 8 1 1 6 4 2 4 3 1 2 2 2 2 1
Output
.

Sprinting Test
Input
N E E E W E S E E W E W N W W S W W E W W E W E E E W W W N E E E E E W W E W E W E S N W W E E E S W 1 11 1 8 2 42 1 19 52 31 43 14 1 74 76 1 58 10 1 14 90 2 89 85 54 43 27 70 37 1 51 29 68 83 76 77 36 70 22 14 81 40 1 1 73 36 41 47 88 1 31
Output
................................................##########################################################################################################.####################################################################.##################.###############.....................###########.######.#.####.#######.##################.........###############.#####################################################.............. #...............................................#######################################.#.############################################################################################.#######..###################################################################....#...................................################################........########################################.############################..#...........#

Validator Sprint Validator
Input
W N E S S S N S N S N S N W S N S S N S S E N W S S N N N S S W S N S N S W E S N E N S N S W N S 2 66 4 63 21 12 62 41 38 23 42 77 40 2 28 66 50 7 61 23 64 2 67 2 6 60 2 56 52 8 17 1 26 26 46 72 8 2 2 53 16 1 24 43 26 42 1 69 41
Output
..#... ...#.. ...... ...... ...... ...... ...... ...... #.#... ...... ...... ..#... .##### .#...# .#...# .#...# .#...# .#...# .#...# .#...# .#...# .#.#.# .#...# .#...# .#...# .#.#.# .#...# .###.# .###.# .##..# .###.. .###.# .###.# .###.# .###.# .###.# .###.# .###.# .##..# .###.# .###.# .###.# .###.# .###.# .###.# .#..#. .#.#.# .#.#.. .#.#.. .#.#.# .#.#.. .#.#.. .###.. .###.. .###.. .###.. .###.. .###.. .###.. .###.. .###.. .#.#.. .###.. .###.. .##... .###.. .###.. .##.## .##..# .##..# .##..# .##..# .#.... .##..# .##..# .##..# .##..# .##..# .#...# ..#..# ..#..# ...#.# ...#.# ...#.# ...#.# ...#.# .....# ...#.. ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# .....# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.# ...#.. ...#.. ...#.# ...#.# .....# ...###

Just Drunk...     -ing Test
Input
N N W E E N N W S E N S N S E W N S S E W N S N W W W W E W E N W W N E E N S W S N E N S W W S E E S W E W E E E E S N S E W N N S E W N S N S W N E S S W W E S S S S W E E N W S N S N E S N N W W W N S N N W S N E N S W S W S E E W W N S N E S W N N W S E N W N S W S S S E W S N S E E N N S W E E N S N W S N W S N S E W E W N S E W S E N S W E W N N E S N W S E W E E W E S W N E W S N N E W S E W S S N E S S N S E E E S S N W S N S N E S W W E N N 817 9655 18 9014 8294 8958 5220 694 3583 1508 4881 2583 6315 3228 2928 9330 4484 1529 1359 3707 5775 1388 2729 3305 2012 1237 3723 5280 8955 3486 3890 3899 2203 7794 6999 1348 3104 4963 3026 7994 1142 1142 7994 3026 4963 3104 1348 6999 7794 2203 3899 3890 3486 8955 5280 3723 1237 2012 3305 2729 1388 5775 3707 1359 1529 4484 9330 2928 3228 6315 2583 4881 1508 3583 694 5220 8958 8294 9014 18 9655 817 15902 23024 19382 26531 16302 11087 16169 20563 3782 12794 5030 23412 19683 12596 10228 2939 13366 19379 5301 7141 6892 2854 8384 20678 21941 6576 81779 81779 6576 2 10 10 6 2 6 7 14 12 7 27 2 5 11 4 8 15 4 3 12 9 3 6 2 6 7 24 21 3 6 5 17 5 23 2 6 24 9 16 9 28 20 5 12 18 4 22 16 5 6 18 13512 13512 9 9 13512 13512 16 7 23 11 5 21 15 9 2 15 3 4 19 16 11 15 18 4 23 18 9 21 16 16 4 15 14 13 4 11 9 19 10 4 21941 20678 8384 2854 6892 7141 5301 19379 13366 2939 10228 12596 19683 23412 5030 12794 3782 20563 16169 11087 16302 26531 19382 23024 15902
Output
..........................#.. ............................. ......#######.....####....... ......#......#...#...#...#... .....##......#...#...#....... ......#..####....#...#.###### ......#..#..#..##.###..#####. ......#..#....#..#...##...... .........#....#........####.. .#....#..#....#..#....#..##.# ......#..#....#..#....#..#... #########.####...#....#...... #.....#..#....##.#....#..#... .......##.####..#.....##.#... #####..##.###.##.#....#..#... ##...##..#...###......#..#... ##...##..#...###......#..#... ##.....#.#..#.#.###...#..#..# ..#######.##.#.###.###.##.##. .#.......#..#.#...#...#..#.#. .#.......#..#.#####..####.##. .#..##...###.#######.##..#.#. .#..........#.........#..#... .#.#........#.........#..#... .#..........#....#....#..#... ##..........#.........#..#... ..#.........#.........#.##... #.#.##......##........#..#... .#.##.######.#########.####.. .#.#.#########........#...... .######################......

Validator Drunk Validator
Input
N W E W W W W N S N E W S S S E W W E E N W E E N W S E N W N E N E W N N W E W W E E W E S S E W S W S E S W N E S W W E S W W E E W N N N E W S N S E E E E W E S W E N N E N W N S N W S E S W E S W E N N E N S W E S N W E E N E S S W W E E W N W S E E E E W E S W W N S W N E W N W S E W W W E E S E E N S W E S W W W E W E W N S E W W E E W E W E E E E S W W N W W N S N E S W E N E W W E W W E E W E S E N S W S S W E N W E N W N E S N S E S W S S W E 1018 2605 4178 1973 6770 4667 7598 8017 8420 150 5064 4821 5059 905 5282 5080 6516 8815 9518 8658 7532 4062 7753 8022 5852 8053 3402 6389 5043 938 8265 4370 2557 1526 3011 3093 1723 8982 4900 6349 5570 5570 6349 4900 8982 1723 3093 3011 1526 2557 4370 8265 938 5043 6389 3402 8053 5852 8022 7753 4062 7532 8658 9518 8815 6516 5080 5282 905 5059 4821 5064 150 8420 8017 7598 4667 6770 1973 4178 2605 1018 26334 24050 12812 8363 2416 17128 6605 12623 13093 16508 27997 14577 6968 19031 21509 6564 15117 25741 8199 8424 17153 4457 18362 22684 7095 47355 6689 6689 47355 9 9 6 3 8 2 19 23 11 2 3 9 10 3 22 4 7 10 6 16 2 9 2 2 3 22 4 10 8 3 2 7 11 22 2 18 16 14 3 5 23 10 3 3 5 7 10 25 2 6 16 13512 13512 9 9 13512 13512 8 5 18 17 2 10 11 10 14 23 2 11 10 5 22 2 4 9 12 9 6 18 27 2 11 2 21 2 10 9 15 14 17 15 2 7095 22684 18362 4457 17153 8424 8199 25741 15117 6564 21509 19031 6968 14577 27997 16508 13093 12623 6605 17128 2416 8363 12812 24050 26334
Output
................##########.....###................####....#...... ...........##.##.#####...#.....#.#................#..#........... ...........#....#....#...#.....#.#................#..#........... ...........#.........#...#......#........#........#..#.#..###.... .....#.....#####..###..#..#######..##########.##.#.###.###.#.#### ................#....#...#......#.#...............#..#....#.#...# .......#........#....#....######...################..#####.#.#### #...............#####.#########..........#.##########.....#.#.... .....................#........#.........#............#....#.#.... .....................#........#.........#............#....#.#.... ...#.#...............##..###............#.............#####..#... ........................................#....................#... ................#.......................######################...

Solution language

Solution

Stub generator input