Statistics

Problem Statement for "TwoLineMinesweeper"

Problem Statement

This problem references the well-known puzzle game Minesweeper. Prior knowledge of the game is not necessary, the problem statement explains everything you need to know.


You are playing Minesweeper on a small rectangular grid: two rows by N columns.

All the cells in the first row have already been revealed. It turned out that none of them contained a mine.

In Minesweeper, once a cell is revealed, it contains a number. The number shown in a revealed cell is the total number of mines in adjacent cells. (Cells sharing a side or a corner with that cell count as adjacent cells.)

You are given the int[] firstLine with N elements: these revealed numbers, from left to right.


Your task is to reconstruct the second row: find out which cells contain mines and which ones are empty.

We will use the character '*' (asterisk) to denote a mine and the character '-' (dash) to denote an empty cell. Using these characters we can describe the content of the second row as an N-character String.

It is possible that more than one configuration of mines corresponds to the given first row. If there are more than 50 such configurations, return a String[] containing any 50 distinct valid configurations of mines. If there are 50 or fewer, return a String containing all of them.

The return value must be sorted in ascending order.

Definition

Class:
TwoLineMinesweeper
Method:
solve
Parameters:
int[]
Returns:
String[]
Method signature:
String[] solve(int[] firstLine)
(be sure your method is public)

Notes

  • The sort order required is the standard sort order according to the characters' ASCII values. In this order, '*' < '-'. The standard sorting routine in each supported programming language should produce the correct order.

Constraints

  • firstLine will have between 1 and 50 elements, inclusive.
  • Each element of firstLine will be between 0 and 3, inclusive.
  • firstLine will correspond to at least one valid placement of mines into the second row.

Examples

  1. {0, 0, 0, 0, 0, 0}

    Returns: {"------" }

    If the first row is all zeros, there are no mines in the second row.

  2. {0, 0, 1, 1, 1, 0}

    Returns: {"---*--" }

    The second row must contain a single mine: +---+---+---+---+---+---+ | 0 | 0 | 1 | 1 | 1 | 0 | +---+---+---+---+---+---+ | | | | * | | | +---+---+---+---+---+---+ Three first row cells are adjacent to this mine.

  3. {1, 1}

    Returns: {"*-", "-*" }

    There are two solutions here: +---+---+ +---+---+ | 1 | 1 | | 1 | 1 | +---+---+ +---+---+ | * | | | | * | +---+---+ +---+---+ Please note that the answers must be in sorted order. The string "*-" comes before the string "-*".

  4. {2, 2, 2, 2, 2}

    Returns: {"**-**" }

    +---+---+---+---+---+ | 2 | 2 | 2 | 2 | 2 | +---+---+---+---+---+ | * | * | | * | * | +---+---+---+---+---+

  5. {0}

    Returns: {"-" }

  6. {1}

    Returns: {"*" }

  7. {1, 2, 1, 1}

    Returns: {"*-*-" }

  8. {1, 2, 1, 1, 0, 0, 0, 1, 1, 2, 2, 2, 1, 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 2, 2, 2, 2, 3, 2}

    Returns: {"*-*-----*-**---**--------*----------*--*---**-***" }

  9. {2, 2}

    Returns: {"**" }

  10. {1, 1, 1, 1, 1}

    Returns: {"*--*-", "-*--*" }

  11. {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0}

    Returns: {"-*------------*-**-**---------*---*-----" }

  12. {1, 1, 0, 0, 0}

    Returns: {"*----" }

  13. {1, 1, 0}

    Returns: {"*--" }

  14. {0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0}

    Returns: {"---*---*----*------*---------*--*--*-------" }

  15. {2, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 2, 2, 1, 0, 0, 1, 2, 2, 2, 2, 2, 1, 1, 2, 3, 2, 2, 1, 1, 1, 2, 3, 3, 3, 3, 2, 2, 1, 2, 2, 2}

    Returns: {"********-*--**----**-**--***-*--******-*-**" }

  16. {2, 3, 3, 2, 1}

    Returns: {"****-" }

  17. {2, 3, 2, 1, 0}

    Returns: {"***--" }

  18. {2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 2}

    Returns: {"*********************-*****-**********-****" }

  19. {2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 0, 1, 1, 2, 2, 2, 1}

    Returns: {"**--*-*--*-*--*--**-----**-**-*--*-**---*-**-" }

  20. {0, 0, 0}

    Returns: {"---" }

  21. {2, 2, 1, 0}

    Returns: {"**--" }

  22. {1, 1, 0, 1, 1}

    Returns: {"*---*" }

  23. {0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 1, 0, 1, 1, 1, 0, 1, 2, 2, 1, 0, 0, 0, 1, 2, 2, 2, 2, 2, 1}

    Returns: {"--**-**-**-----*-**-**-*****---*---**-----**-**-" }

  24. {0, 1, 1}

    Returns: {"--*" }

  25. {1, 2, 3, 2}

    Returns: {"-***" }

  26. {0, 0}

    Returns: {"--" }

  27. {2, 3, 2, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 3, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1}

    Returns: {"***--*-**--**-*---*--*-------***-*-*--**-" }

  28. {2, 3, 2, 2, 1}

    Returns: {"***-*" }

  29. {2, 2, 2, 1}

    Returns: {"**-*" }

  30. {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1}

    Returns: {"*------------*---**-*-*--**-*--*-*-*--*-------*-" }

  31. {0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 1, 1, 1, 2, 3, 2, 1, 1, 1, 1, 0, 1, 2, 2, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 2, 1, 0, 0, 1, 1, 1, 0}

    Returns: {"--****----*--***--*---**--*----*--*-***-**----*--" }

  32. {2, 2, 1, 1, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 2}

    Returns: {"**--*******-**-************************-***" }

  33. {2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 1, 1, 1, 1, 0, 1, 1, 2, 2, 2, 1, 1, 2, 3, 2, 1, 0, 0, 1, 2, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 0, 1, 1}

    Returns: {"**-**-*****--*---*-**--***----********-**---*" }

  34. {1, 2, 1, 1, 0}

    Returns: {"*-*--" }

  35. {1, 2, 2, 3, 3, 2, 1, 1, 2, 3, 2, 2, 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1}

    Returns: {"*-****--***-*--*--****--*--*-*-**********-" }

  36. {0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 2, 2, 1, 0, 0, 0, 1, 2, 3, 2, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 2, 2, 1, 0, 1, 1, 2, 1, 2, 1, 1, 0}

    Returns: {"---*--*---**-----***-----*-----**---*-*-*--" }

  37. {0, 0, 1, 1, 1}

    Returns: {"---*-" }

  38. {2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 2, 2, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2, 2, 3, 2}

    Returns: {"****-**-**-**-*****-*-******************-****-***" }

  39. {1, 2, 2, 1, 0}

    Returns: {"-**--" }

  40. {0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 2, 2, 2, 1, 1, 0, 1, 1, 2, 2, 2, 1, 0, 0, 0}

    Returns: {"--*---*-------------*--*-----**-*---*-**----" }

  41. {0, 0, 0, 1, 1}

    Returns: {"----*" }

  42. {1, 1, 1, 2, 2}

    Returns: {"*--**" }

  43. {1, 2, 2, 3, 3, 2, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 2, 2, 2, 2, 3, 2, 1, 1, 1, 2, 2, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, 1}

    Returns: {"*-****--******--**-***--*-*****-*******-" }

  44. {0, 1, 1, 1, 0}

    Returns: {"--*--" }

  45. {1, 2, 1}

    Returns: {"*-*" }

  46. {2, 2, 2, 2, 3, 3, 2, 1, 1, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 3, 2, 2, 1, 2, 1, 2, 1, 2, 2, 3, 3, 2, 1, 1, 2, 3, 2}

    Returns: {"**-****--****-**-***-***-*-*-*-****--***" }

  47. {2, 3, 2, 1}

    Returns: {"***-" }

  48. {1, 2, 1, 2, 1}

    Returns: {"*-*-*" }

  49. {0, 0, 1, 2, 2}

    Returns: {"---**" }

  50. {2, 3, 2, 2, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2}

    Returns: {"***-*-*************-*******-*****-**-***-*******" }

  51. {2, 3, 3, 3, 2}

    Returns: {"*****" }

  52. {1, 2, 2, 2, 1}

    Returns: {"*-**-", "-**-*" }

  53. {0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0}

    Returns: {"--*--------*--**----*----------------------*--*--" }

  54. {2, 3, 3, 2}

    Returns: {"****" }

  55. {1, 2, 2, 1}

    Returns: {"-**-" }

  56. {0, 1, 1, 1}

    Returns: {"--*-" }

  57. {1, 1, 1, 0}

    Returns: {"-*--" }

  58. {0, 0, 0, 0}

    Returns: {"----" }

  59. {2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 2, 2, 2, 2}

    Returns: {"**-*********************************-****-**" }

  60. {1, 2, 2, 3, 2}

    Returns: {"*-***" }

  61. {1, 1, 2, 1, 1, 1, 2, 2, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0}

    Returns: {"-*-*--**---*-----------*----**--------*---" }

  62. {0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0}

    Returns: {"---*---*---------------*--------**---*---*-----" }

  63. {1, 1, 1, 0, 0}

    Returns: {"-*---" }

  64. {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0}

    Returns: {"--------*----*-----*------------------*--------*--" }

  65. {0, 0, 0, 0, 0}

    Returns: {"-----" }

  66. {0, 0, 1, 1}

    Returns: {"---*" }

  67. {1, 1, 1, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {"-*--*-*--------*-*--*--*--------*-*---------" }

  68. {2, 2, 2, 1, 2, 2, 2, 1, 0, 1, 1, 2, 1, 2, 2, 2, 1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 1, 0, 1, 2, 3, 2, 1, 0, 0, 0, 1, 1, 2, 1, 1}

    Returns: {"**-*-**---*-*-**----*--**-*---***-----*-*-" }

  69. {0, 1, 2, 2, 1}

    Returns: {"--**-" }

  70. {0, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 2, 2, 3, 2, 2, 1, 1, 0, 0}

    Returns: {"---*--*-*-*-*-**-----------*-*-----*---*-***-*---" }

  71. {0, 1, 2, 3, 2}

    Returns: {"--***" }

  72. {0, 1, 1, 2, 1}

    Returns: {"--*-*" }

  73. {1, 1, 2, 1, 1}

    Returns: {"-*-*-" }

  74. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 2, 2, 2, 1, 0}

    Returns: {"-------------------*----------------*----*-**--" }

  75. {0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 1, 0, 1, 2, 2, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1}

    Returns: {"--*------*-*-**--*--*---*-*---**---*--*---*-*-*-*" }

  76. {1, 1, 2, 2, 2}

    Returns: {"-*-**" }

  77. {0, 1, 2, 2, 2, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 2, 2, 1, 1, 1, 1, 0, 1, 2, 2, 1, 0, 0, 1, 2, 2, 1, 0, 0, 0, 1, 1, 1, 0, 1, 2, 2, 1, 0, 0}

    Returns: {"--**-*--*---*-----**--*---**----**-----*---**---" }

  78. {1, 1, 1}

    Returns: {"-*-" }

  79. {0, 1, 2, 2}

    Returns: {"--**" }

  80. {1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 3, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}

    Returns: {"-*----------------*-***--------*--*-----*------" }

  81. {1, 2, 1, 2, 2, 3, 3, 3, 3, 2, 1, 1, 2, 3, 3, 3, 2, 2, 1, 2, 2, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1}

    Returns: {"*-*-******--*****-*-*****-*******-*********--*" }

  82. {0, 0, 0, 1, 2, 2, 1, 0, 0, 1, 1, 1, 1, 2, 3, 3, 2, 1, 0, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 0, 0, 1, 1, 2, 1, 1, 0}

    Returns: {"----**----*--****---**--**--*-**----*-*--" }

  83. {1, 2, 2}

    Returns: {"-**" }

  84. {2, 2, 1, 0, 0}

    Returns: {"**---" }

  85. {2, 3, 2, 2, 2, 3, 2, 2, 1, 2, 2, 3, 2, 2, 2, 3, 2, 2, 2, 3, 2, 1, 1, 2, 2, 1, 1, 2, 3, 3, 2, 2, 1, 2, 1, 2, 2, 3, 3, 2, 1, 0, 0}

    Returns: {"***-***-*-***-***-***--**--****-*-*-****---" }

  86. {1, 1, 0, 0}

    Returns: {"*---" }

  87. {0, 1, 1, 1, 1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 1, 2, 3, 2, 2, 1, 2, 1, 1, 0, 0, 1, 2, 3, 2, 1, 0, 1, 2, 2, 2, 1, 2, 1, 1, 1, 1, 1}

    Returns: {"--*--*-*-------***-*-*----***---**-*-*--*-" }

  88. {2, 2, 1, 1, 1}

    Returns: {"**--*" }

  89. {1, 2, 2, 2}

    Returns: {"*-**" }

  90. {2, 2, 1}

    Returns: {"**-" }

  91. {0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 2, 2, 1, 0, 1, 2, 2, 1, 0, 0, 1, 1, 2, 1, 1, 0, 0, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 0, 0, 0}

    Returns: {"-------*----**---**----*-*----*-*-*--**----" }

  92. {2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, 2, 1, 1, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2}

    Returns: {"************-**********-***--***-************-**" }

  93. {1, 1, 1, 1}

    Returns: {"*--*" }

  94. {2, 2, 2, 1, 1}

    Returns: {"**-*-" }

  95. {1, 1, 0, 1, 1, 2, 1, 1, 0, 0, 0, 1, 2, 2, 1, 1, 1, 1, 1, 2, 3, 3, 3, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 2, 2, 1, 2, 1, 1}

    Returns: {"*---*-*-----**--*--*****--*--**-****-*-*-" }

  96. {2, 3, 2}

    Returns: {"***" }

  97. {2, 2, 2, 2, 2}

    Returns: {"**-**" }

  98. {1, 2, 3, 2, 1}

    Returns: {"-***-" }

  99. {1, 1}

    Returns: {"*-", "-*" }

  100. {2, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 2, 2, 1, 0, 0, 1, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 0, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1}

    Returns: {"******-**--**----*-*--**-*---**--*--**--**-*" }

  101. {0, 1, 1, 2, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 2, 2, 2, 1, 2, 2, 2, 1, 0, 0, 0, 1, 1, 2, 1, 2, 1, 1, 0, 0, 1, 1, 1}

    Returns: {"--*-*-----*------*---**-*-**-----*-*-*----*-" }

  102. {1, 2, 3, 3, 2}

    Returns: {"-****" }

  103. {1, 1, 2, 1}

    Returns: {"-*-*" }

  104. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    Returns: {"*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*" }

  105. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    Returns: {"*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-", "-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*" }

  106. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    Returns: {"-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-" }

  107. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    Returns: {"*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*-", "-*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*" }

  108. {1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1}

    Returns: {"*--*-**-**-**-**-**-**-", "-*--**-**-**-**-**-**-*" }

  109. {1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1}

    Returns: {"*--*-**--*--*--*-**-**--*-**-**--*-", "-*--**-*--*--*--**-**-*--**-**-*--*" }

  110. {1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1}

    Returns: {"*-**-**--*--*-**-", "-**-**-*--*--**-*" }

  111. {1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1}

    Returns: {"*-**-**--*--*--*--*-**--*-**-**-**--*--*-", "-**-**-*--*--*--*--**-*--**-**-**-*--*--*" }

  112. {1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1}

    Returns: {"*-**--*-**--*-**-**-**--*-**-**--*-**-**-", "-**-*--**-*--**-**-**-*--**-**-*--**-**-*" }

  113. {1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1}

    Returns: {"*-**-**--*--*--*-**-**-**--*-**--*-", "-**-**-*--*--*--**-**-**-*--**-*--*" }

  114. {1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1}

    Returns: {"*--*--*-**-**-", "-*--*--**-**-*" }

  115. {1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1}

    Returns: {"*-**-**--*-**-**-**--*--*--*-**-**--*--*-**-", "-**-**-*--**-**-**-*--*--*--**-**-*--*--**-*" }

  116. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1}

    Returns: {"*--*--*--*-**-**-", "-*--*--*--**-**-*" }

  117. {1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1}

    Returns: {"*-**-**--*-", "-**-**-*--*" }

  118. {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }

    Returns: {"**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**-**" }

  119. {1 }

    Returns: {"*" }

  120. {1, 1, 1, 1 }

    Returns: {"*--*" }

  121. {0 }

    Returns: {"-" }

  122. {2, 3, 3, 3, 2, 1 }

    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: