Statistics

Problem Statement for "FillInTheMaze"

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 ints R, C, and X. Your task is to design any maze with R rows and C columns of rooms (that is, 2R+1 rows of characters, each containing 2C+1 characters). The maze must have the following additional properties:

  • 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 String[] with the resulting maze. Any valid answer will be accepted.

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

  1. 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.

  2. 1

    3

    2

    Returns: {"#######", ".......", "#######" }

    A very simple maze with just one row of rooms and with two exits.

  3. 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.

  4. 1

    1

    1

    Returns: {"#.#", "#.#", "###" }

  5. 1

    1

    2

    Returns: {"#.#", "..#", "###" }

  6. 1

    1

    3

    Returns: {"#.#", "...", "###" }

  7. 1

    1

    4

    Returns: {"#.#", "...", "#.#" }

  8. 12

    3

    14

    Returns: {"#.#.#.#", ".......", "#.#####", ".......", "#.#####", ".......", "#.#####", ".......", "#.#####", ".......", "#.#####", "......#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#######" }

  9. 18

    15

    44

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "...............................", "#.#############################", "..............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "###############################" }

  10. 9

    17

    25

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "###################################" }

  11. 13

    20

    6

    Returns: {"#.#.#.#.#.#.#############################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#########################################" }

  12. 14

    22

    4

    Returns: {"#.#.#.#.#####################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#.###########################################", "#...........................................#", "#############################################" }

  13. 4

    1

    5

    Returns: {"#.#", "...", "#.#", "...", "#.#", "#.#", "#.#", "#.#", "###" }

  14. 16

    24

    70

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#####################" }

  15. 1

    11

    19

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#", ".......................", "#.#.#.#.#.#.###########" }

  16. 14

    8

    16

    Returns: {"#.#.#.#.#.#.#.#.#", ".................", "#.###############", ".................", "#.###############", ".................", "#.###############", ".................", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#################" }

  17. 17

    17

    46

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "..................................#", "#.#################################", "#.................................#", "#.#################################", "#.................................#", "###################################" }

  18. 15

    8

    3

    Returns: {"#.#.#.###########", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#.###############", "#...............#", "#################" }

  19. 18

    12

    46

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", "#.......................#", "#########################" }

  20. 23

    12

    44

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#########################" }

  21. 18

    19

    26

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".......................................", "#.#####################################", ".......................................", "#.#####################################", ".......................................", "#.#####################################", "......................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#######################################" }

  22. 8

    24

    5

    Returns: {"#.#.#.#.#.#######################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#################################################" }

  23. 5

    11

    7

    Returns: {"#.#.#.#.#.#.#.#########", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#######################" }

  24. 12

    19

    25

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".......................................", "#.#####################################", ".......................................", "#.#####################################", ".......................................", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#######################################" }

  25. 17

    18

    33

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", ".....................................", "#.###################################", "....................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#.###################################", "#...................................#", "#####################################" }

  26. 4

    21

    15

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#############", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "###########################################" }

  27. 23

    11

    28

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", ".......................", "#.#####################", "......................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#.#####################", "#.....................#", "#######################" }

  28. 16

    24

    15

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.###################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#.###############################################", "#...............................................#", "#################################################" }

  29. 14

    20

    46

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", ".........................................", "#.#######################################", "#.......................................#", "#########################################" }

  30. 22

    10

    31

    Returns: {"#.#.#.#.#.#.#.#.#.#.#", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", "....................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#.###################", "#...................#", "#####################" }

  31. 18

    9

    23

    Returns: {"#.#.#.#.#.#.#.#.#.#", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "#.#################", "#.................#", "###################" }

  32. 18

    19

    6

    Returns: {"#.#.#.#.#.#.###########################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#.#####################################", "#.....................................#", "#######################################" }

  33. 16

    10

    37

    Returns: {"#.#.#.#.#.#.#.#.#.#.#", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", ".....................", "#.###################", "....................#", "#.###################", "#...................#", "#.###################", "#...................#", "#####################" }

  34. 13

    9

    34

    Returns: {"#.#.#.#.#.#.#.#.#.#", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "..................#", "###################" }

  35. 8

    20

    8

    Returns: {"#.#.#.#.#.#.#.#.#########################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#.#######################################", "#.......................................#", "#########################################" }

  36. 21

    7

    25

    Returns: {"#.#.#.#.#.#.#.#", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "...............", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "###############" }

  37. 16

    9

    39

    Returns: {"#.#.#.#.#.#.#.#.#.#", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "...................", "#.#################", "#.................#", "###################" }

  38. 18

    5

    29

    Returns: {"#.#.#.#.#.#", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "#.#########", "#.........#", "###########" }

  39. 1

    6

    9

    Returns: {"#.#.#.#.#.#.#", ".............", "#.###########" }

  40. 21

    3

    5

    Returns: {"#.#.#.#", ".......", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#.#####", "#.....#", "#######" }

  41. 9

    17

    40

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#################################", "...................................", "#.#.#.#.#.#########################" }

  42. 18

    16

    56

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.###############################", ".................................", "#.#.#.#.#########################" }

  43. 12

    2

    20

    Returns: {"#.#.#", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", ".....", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#####" }

  44. 9

    21

    39

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "###########################################" }

  45. 17

    22

    61

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.###########################################", ".............................................", "#.#.#.#.#.###################################" }

  46. 23

    21

    41

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "...........................................", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "#.#########################################", "#.........................................#", "###########################################" }

  47. 1

    19

    16

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#######", "#.....................................#", "#######################################" }

  48. 7

    12

    28

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#######################", ".........................", "#.#.#####################" }

  49. 23

    6

    12

    Returns: {"#.#.#.#.#.#.#", ".............", "#.###########", ".............", "#.###########", ".............", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#.###########", "#...........#", "#############" }

  50. 16

    7

    9

    Returns: {"#.#.#.#.#.#.#.#", "...............", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "#.#############", "#.............#", "###############" }

  51. 4

    5

    12

    Returns: {"#.#.#.#.#.#", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "..........#", "###########" }

  52. 17

    13

    7

    Returns: {"#.#.#.#.#.#.#.#############", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "#.#########################", "#.........................#", "###########################" }

  53. 9

    15

    1

    Returns: {"#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "#.#############################", "#.............................#", "###############################" }

  54. 21

    4

    27

    Returns: {"#.#.#.#.#", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", ".........", "#.#######", "........#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#.#######", "#.......#", "#########" }

  55. 3

    12

    1

    Returns: {"#.#######################", "#.......................#", "#.#######################", "#.......................#", "#.#######################", "#.......................#", "#########################" }

  56. 9

    2

    5

    Returns: {"#.#.#", ".....", "#.###", "....#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#.###", "#...#", "#####" }

  57. 6

    24

    33

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", "................................................#", "#.###############################################", "#...............................................#", "#################################################" }

  58. 24

    24

    72

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#################################################" }

  59. 24

    24

    96

    Returns: {"#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.###############################################", ".................................................", "#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#" }

  60. 3

    6

    18

    Returns: {"#.#.#.#.#.#.#", ".............", "#.###########", ".............", "#.###########", ".............", "#.#.#.#.#.#.#" }

  61. 5

    5

    20

    Returns: {"#.#.#.#.#.#", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#########", "...........", "#.#.#.#.#.#" }


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: