Statistics

Problem Statement for "ReturnedKnight"

Problem Statement

Given a rectangular chessboard with some obstacles and a single chess knight, we can play a simple game. We will start by marking one empty square as the starting square and placing the knight there. From this point on, we will repeatedly choose and perform a valid move of the knight. (The move is always chosen uniformly at random from the set of moves that are valid at that moment. The random choices are mutually independent. Squares that contain obstacles cannot be the target of a move.)

The game ends when the knight returns to its starting square for the first time. The outcome of the game is the number of moves it took. If the starting square is such that the knight has no valid moves, we define that the outcome of the game is 0.


You are given a positive fraction P / Q. Your task is as follows:

  1. Take a rectangular chessboard with at most 30 rows and at most 30 columns. (You get to choose the dimensions.)
  2. Place zero or more obstacles onto the board.
  3. Mark one of the empty squares as the knight's starting square.
  4. You win if the expected outcome of the game for your chessboard equals P / Q.

Return your board formatted as a String[], using '.' for empty squares, '#' for obstacles, and 'N' for the knight's starting position. All valid solutions will be accepted. If there is no valid solution, return an empty String[].

Definition

Class:
ReturnedKnight
Method:
construct
Parameters:
int, int
Returns:
String[]
Method signature:
String[] construct(int P, int Q)
(be sure your method is public)

Notes

  • A chess knight moves by two squares in one direction and then by one square in the two orthogonal directions. (Thus, on an empty infinite chessboard a knight has exactly 8 valid moves from each cell.)
  • The knight can jump over obstacles. For each move, only the square where it ends its move must be obstacle-free.

Constraints

  • P will be between 1 and 1000, inclusive.
  • Q will be between 1 and 1000, inclusive.

Examples

  1. 2

    1

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

    .######.. ##N####.. ####.##.. The knight has two options for its first jump. Regardless of which one it chooses, in the second jump it will have to return back where it started. Thus, each possible game on this board has outcome 2.

  2. 800

    100

    Returns: {"N..", "...", "..." }

    N.. ... ... For this board some games will end in two moves, some will end in two thousand moves. It can be shown that the average outcome of a game for this board is exactly 8. {".N.", ".#.", "..."} would also be a valid answer. In this particular situation we cannot visit the middle cell so we may put an obstacle there without changing the outcome of the game. Also, all eight possible starting cells happen to be equivalent.

  3. 22

    3

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

  4. 93

    47

    Returns: { }

    This is clearly impossible: on any board where the outcome of the game is positive its smallest possible value is 2, and therefore its expected value is at least 2.

  5. 1

    1

    Returns: { }

  6. 1

    2

    Returns: { }

  7. 1

    3

    Returns: { }

  8. 1

    4

    Returns: { }

  9. 1

    5

    Returns: { }

  10. 1

    6

    Returns: { }

  11. 1

    7

    Returns: { }

  12. 1

    8

    Returns: { }

  13. 1

    9

    Returns: { }

  14. 1

    10

    Returns: { }

  15. 2

    1

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

  16. 2

    2

    Returns: { }

  17. 2

    3

    Returns: { }

  18. 2

    4

    Returns: { }

  19. 2

    5

    Returns: { }

  20. 2

    6

    Returns: { }

  21. 2

    7

    Returns: { }

  22. 2

    8

    Returns: { }

  23. 2

    9

    Returns: { }

  24. 2

    10

    Returns: { }

  25. 3

    1

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

  26. 3

    2

    Returns: { }

  27. 3

    3

    Returns: { }

  28. 3

    4

    Returns: { }

  29. 3

    5

    Returns: { }

  30. 3

    6

    Returns: { }

  31. 3

    7

    Returns: { }

  32. 3

    8

    Returns: { }

  33. 3

    9

    Returns: { }

  34. 3

    10

    Returns: { }

  35. 4

    1

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

  36. 4

    2

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

  37. 4

    3

    Returns: { }

  38. 4

    4

    Returns: { }

  39. 4

    5

    Returns: { }

  40. 4

    6

    Returns: { }

  41. 4

    7

    Returns: { }

  42. 4

    8

    Returns: { }

  43. 4

    9

    Returns: { }

  44. 4

    10

    Returns: { }

  45. 5

    1

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

  46. 5

    2

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

  47. 5

    3

    Returns: { }

  48. 5

    4

    Returns: { }

  49. 5

    5

    Returns: { }

  50. 5

    6

    Returns: { }

  51. 5

    7

    Returns: { }

  52. 5

    8

    Returns: { }

  53. 5

    9

    Returns: { }

  54. 5

    10

    Returns: { }

  55. 6

    1

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

  56. 6

    2

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

  57. 6

    3

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

  58. 6

    4

    Returns: { }

  59. 6

    5

    Returns: { }

  60. 6

    6

    Returns: { }

  61. 6

    7

    Returns: { }

  62. 6

    8

    Returns: { }

  63. 6

    9

    Returns: { }

  64. 6

    10

    Returns: { }

  65. 7

    1

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

  66. 7

    2

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

  67. 7

    3

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

  68. 7

    4

    Returns: { }

  69. 7

    5

    Returns: { }

  70. 7

    6

    Returns: { }

  71. 7

    7

    Returns: { }

  72. 7

    8

    Returns: { }

  73. 7

    9

    Returns: { }

  74. 7

    10

    Returns: { }

  75. 8

    1

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

  76. 8

    2

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

  77. 8

    3

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

  78. 8

    4

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

  79. 8

    5

    Returns: { }

  80. 8

    6

    Returns: { }

  81. 8

    7

    Returns: { }

  82. 8

    8

    Returns: { }

  83. 8

    9

    Returns: { }

  84. 8

    10

    Returns: { }

  85. 9

    1

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

  86. 9

    2

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

  87. 9

    3

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

  88. 9

    4

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

  89. 9

    5

    Returns: { }

  90. 9

    6

    Returns: { }

  91. 9

    7

    Returns: { }

  92. 9

    8

    Returns: { }

  93. 9

    9

    Returns: { }

  94. 9

    10

    Returns: { }

  95. 10

    1

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

  96. 10

    2

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

  97. 10

    3

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

  98. 10

    4

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

  99. 10

    5

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

  100. 10

    6

    Returns: { }

  101. 10

    7

    Returns: { }

  102. 10

    8

    Returns: { }

  103. 10

    9

    Returns: { }

  104. 10

    10

    Returns: { }

  105. 997

    1

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

  106. 997

    2

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

  107. 997

    3

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

  108. 997

    4

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

  109. 998

    1

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

  110. 998

    2

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

  111. 998

    3

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

  112. 998

    4

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

  113. 999

    1

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

  114. 999

    2

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

  115. 999

    3

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

  116. 999

    4

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

  117. 1000

    1

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

  118. 1000

    2

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

  119. 1000

    3

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

  120. 1000

    4

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

  121. 371

    3

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

  122. 451

    18

    Returns: { }

  123. 475

    19

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

  124. 362

    9

    Returns: { }

  125. 535

    13

    Returns: { }

  126. 412

    20

    Returns: { }

  127. 52

    14

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

  128. 685

    1

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

  129. 991

    4

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

  130. 11

    9

    Returns: { }

  131. 976

    16

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

  132. 752

    18

    Returns: { }

  133. 20

    11

    Returns: { }

  134. 592

    14

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

  135. 246

    8

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

  136. 546

    17

    Returns: { }

  137. 378

    15

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

  138. 991

    8

    Returns: { }

  139. 45

    18

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

  140. 394

    12

    Returns: { }

  141. 626

    11

    Returns: { }

  142. 582

    19

    Returns: { }

  143. 791

    7

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

  144. 255

    2

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

  145. 139

    11

    Returns: { }

  146. 111

    12

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

  147. 603

    13

    Returns: { }

  148. 531

    18

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

  149. 843

    9

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

  150. 110

    8

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

  151. 960

    11

    Returns: { }

  152. 234

    16

    Returns: { }

  153. 773

    4

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

  154. 802

    14

    Returns: { }

  155. 630

    12

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

  156. 702

    10

    Returns: { }

  157. 911

    8

    Returns: { }

  158. 839

    18

    Returns: { }

  159. 955

    9

    Returns: { }

  160. 376

    18

    Returns: { }

  161. 589

    2

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

  162. 506

    10

    Returns: { }

  163. 587

    13

    Returns: { }

  164. 277

    17

    Returns: { }

  165. 829

    8

    Returns: { }

  166. 631

    4

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

  167. 653

    7

    Returns: { }

  168. 399

    16

    Returns: { }

  169. 270

    20

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

  170. 958

    18

    Returns: { }

  171. 163

    15

    Returns: { }

  172. 26

    6

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

  173. 571

    3

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

  174. 87

    9

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

  175. 534

    20

    Returns: { }

  176. 570

    16

    Returns: { }

  177. 812

    14

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

  178. 385

    2

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

  179. 633

    9

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

  180. 931

    20

    Returns: { }

  181. 530

    967

    Returns: { }

  182. 691

    932

    Returns: { }

  183. 484

    937

    Returns: { }

  184. 726

    654

    Returns: { }

  185. 818

    975

    Returns: { }

  186. 323

    850

    Returns: { }

  187. 23

    591

    Returns: { }

  188. 249

    217

    Returns: { }

  189. 355

    442

    Returns: { }

  190. 982

    888

    Returns: { }

  191. 709

    189

    Returns: { }

  192. 181

    482

    Returns: { }

  193. 944

    204

    Returns: { }

  194. 131

    101

    Returns: { }

  195. 140

    748

    Returns: { }

  196. 804

    584

    Returns: { }

  197. 353

    541

    Returns: { }

  198. 402

    111

    Returns: { }

  199. 274

    455

    Returns: { }

  200. 1

    669

    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: