Problem Statement
There is a very simple way to draw mazes using ASCII characters. One sample maze with three entrances is shown below. (The '#'s represent walls, the '.'s represent empty cells.)
#######.##### ......#.#...# #.###.#.#.#.# #.#.......#.# #.#######.#.# #.......#.#.# #########.###
Here is the construction of such a maze in more detail. Let's take a look at an unfinished maze that has walls everywhere.
############# #.#.#.#.#.#.# ############# #.#.#.#.#.#.# ############# #.#.#.#.#.#.# #############
Rows and columns of the bitmap are numbered starting from 0 in the top left corner. Notice that the cells with both coordinates odd are still empty. These cells are called rooms. The cells that share a side with a room are called hallways and the remaining cells are called pillars. Hence, pillars have both coordinates even. Pillars will always be walls. Some hallways will eventually be empty while others will be walls.
You are given
- Each room must be reachable from each other room, without leaving the maze.
- There have to be exactly X exits (i.e., empty hallways on the boundary of the maze).
- The total number of wall cells ('#' characters) must be maximized.
Return a
Definition
- Class:
- FillInTheMaze
- Method:
- filled
- Parameters:
- int, int, int
- Returns:
- String[]
- Method signature:
- String[] filled(int R, int C, int X)
- (be sure your method is public)
Constraints
- R will be between 1 and 24, inclusive.
- C will be between 1 and 24, inclusive.
- X will be between 1 and 2R+2C, inclusive.
Examples
3
6
3
Returns: {"#######.#####", "......#.#...#", "#.###.#.#.#.#", "#.#.......#.#", "#.#######.#.#", "#.......#.#.#", "#########.###" }
These dimensions correspond to the examples in the problem statement. The maze shown in the statement is indeed one of the optimal solutions.
1
3
2
Returns: {"#######", ".......", "#######" }
A very simple maze with just one row of rooms and with two exits.
2
2
8
Returns: {"#.#.#", ".....", "#.###", ".....", "#.#.#" }
The returned maze: #.#.# ..... #.### ..... #.#.# Notice the one hallway that remained a wall. An answer without that wall would not be accepted, as the number of '#'s would not be as large as possible.
1
1
1
Returns: {"#.#", "#.#", "###" }
1
1
2
Returns: {"#.#", "..#", "###" }
1
1
3
Returns: {"#.#", "...", "###" }
1
1
4
Returns: {"#.#", "...", "#.#" }
12
3
14
Returns: {"#.#.#.#", ".......", "#.#####", ".......", "#.#####", ".......", "#.#####", ".......", "#.#####", ".......", "#.#####", "......#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#######" }
18
15
44
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "..............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "###############################" }
9
17
25
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "###################################" }
13
20
6
Returns: {"#.#.#.#.#.#.#############################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#########################################" }
14
22
4
Returns: {"#.#.#.#.#####################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#############################################" }
4
1
5
Returns: {"#.#", "...", "#.#", "...", "#.#", "#.#", "#.#", "#.#", "###" }
16
24
70
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####################" }
1
11
19
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#", ".......................", "#.#.#.#.#.#.###########" }
14
8
16
Returns: {"#.#.#.#.#.#.#.#.#", ".................", "#.###############", ".................", "#.###############", ".................", "#.###############", ".................", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#################" }
17
17
46
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "..................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "###################################" }
15
8
3
Returns: {"#.#.#.###########", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#################" }
18
12
46
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", "#.......................#", "#########################" }
23
12
44
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#########################" }
18
19
26
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".......................................", "#.#####################################", ".......................................", "#.#####################################", ".......................................", "#.#####################################", "......................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#######################################" }
8
24
5
Returns: {"#.#.#.#.#.#######################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#################################################" }
5
11
7
Returns: {"#.#.#.#.#.#.#.#########", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#######################" }
12
19
25
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".......................................", "#.#####################################", ".......................................", "#.#####################################", ".......................................", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#######################################" }
17
18
33
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", "....................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#####################################" }
4
21
15
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "###########################################" }
23
11
28
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", "......................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#######################" }
16
24
15
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#################################################" }
14
20
46
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", "#.......................................#", "#########################################" }
22
10
31
Returns: {"#.#.#.#.#.#.#.#.#.#.#", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", "....................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#####################" }
18
9
23
Returns: {"#.#.#.#.#.#.#.#.#.#", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "###################" }
18
19
6
Returns: {"#.#.#.#.#.#.###########################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#######################################" }
16
10
37
Returns: {"#.#.#.#.#.#.#.#.#.#.#", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", "....................#", "#.###################", "#...................#", "#.###################", "#...................#", "#####################" }
13
9
34
Returns: {"#.#.#.#.#.#.#.#.#.#", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "..................#", "###################" }
8
20
8
Returns: {"#.#.#.#.#.#.#.#.#########################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#########################################" }
21
7
25
Returns: {"#.#.#.#.#.#.#.#", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "###############" }
16
9
39
Returns: {"#.#.#.#.#.#.#.#.#.#", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "#.................#", "###################" }
18
5
29
Returns: {"#.#.#.#.#.#", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "###########" }
1
6
9
Returns: {"#.#.#.#.#.#.#", ".............", "#.###########" }
21
3
5
Returns: {"#.#.#.#", ".......", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#######" }
9
17
40
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#.#.#.#.#########################" }
18
16
56
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.#.#.#.#########################" }
12
2
20
Returns: {"#.#.#", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#####" }
9
21
39
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "###########################################" }
17
22
61
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.#.#.#.#.###################################" }
23
21
41
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "###########################################" }
1
19
16
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######", "#.....................................#", "#######################################" }
7
12
28
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#.#####################" }
23
6
12
Returns: {"#.#.#.#.#.#.#", ".............", "#.###########", ".............", "#.###########", ".............", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#############" }
16
7
9
Returns: {"#.#.#.#.#.#.#.#", "...............", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "###############" }
4
5
12
Returns: {"#.#.#.#.#.#", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "..........#", "###########" }
17
13
7
Returns: {"#.#.#.#.#.#.#.#############", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "###########################" }
9
15
1
Returns: {"#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "###############################" }
21
4
27
Returns: {"#.#.#.#.#", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", "........#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#########" }
3
12
1
Returns: {"#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#########################" }
9
2
5
Returns: {"#.#.#", ".....", "#.###", "....#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#####" }
6
24
33
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", "................................................#", "#.###############################################", "#...............................................#", "#################################################" }
24
24
72
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#################################################" }
24
24
96
Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#" }
3
6
18
Returns: {"#.#.#.#.#.#.#", ".............", "#.###########", ".............", "#.###########", ".............", "#.#.#.#.#.#.#" }
5
5
20
Returns: {"#.#.#.#.#.#", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#.#.#.#.#" }