Statistics

Problem Statement for "AdventCalendar"

Problem Statement

An advent calendar is a box with 24 small windows, each containing a piece of chocolate. The windows are numbered from 1 to 24 in no particular order.

You have purchased an advent calendar from the discount bin in your store. You now plan to eat all the chocolate, but you want to still abide by the rules and open the windows in the proper order: 1, 2, 3, and so on.


Formally, a new advent calendar is a String[] in which each String contains only spaces and digits. Additionally, the digits form exactly the numbers from 1 to 24, each exactly once. Multiple numbers can appear within the same String. When they do, they have to be separated by one or more spaces.

E.g., there can be an element " 14 17 " but there cannot be an element " 1417 ". Hence, if you see the substring "14" somewhere, you can be sure that it's the actual number 14 and not the numbers 1 and 4 next to each other.


A partially opened advent calendar is a String[] obtained from a new advent calendar in the following way: for some K (between 0 and 23, inclusive), the K smallest numbers are replaced by the appropriate number of 'X' characters. These represent the K windows that have already been opened.

More precisely, whenever we open a window, each digit of its number is replaced by an 'X'. E.g., "7" becomes "X" and "12" becomes "XX".


You are given the String[] calendar containing a partially opened advent calendar. Find the next number that should be opened, open it by replacing it by the appropriate number of 'X' characters, and return the resulting String[].

Definition

Class:
AdventCalendar
Method:
eat
Parameters:
String[]
Returns:
String[]
Method signature:
String[] eat(String[] calendar)
(be sure your method is public)

Constraints

  • calendar will have between 1 and 50 elements, inclusive.
  • Each element of calendar will have between 1 and 50 characters, inclusive.
  • calendar will be a valid partially opened advent calendar, as described in the problem statement.

Examples

  1. {"19 9 2 24 10 ", " 1 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15"}

    Returns: {"19 9 2 24 10 ", " X 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }

    This is one example of a new advent calendar. Note that the elements may have different lengths and they may start or end with spaces. (K=0 being allowed in the definition of a partially opened advent calendar means that a new advent calendar also counts as a partially opened advent calendar.) For this calendar, the next window to open is window number 1. Note that all spaces have been preserved in the return value.

  2. {"19 9 X 24 10 ", " X 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15"}

    Returns: {"19 9 X 24 10 ", " X 18 7 X 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }

    The calendar from the previous example after windows 1 and 2 have been opened. We open window 3 next.

  3. {"X X X X X X X X X XX XX XX XX XX", "XX XX 17 18 19 20 21 22 23 24"}

    Returns: {"X X X X X X X X X XX XX XX XX XX", "XX XX XX 18 19 20 21 22 23 24" }

    This calendar was probably numbered sequentially. Windows 1-16 have been opened, window 17 is next.

  4. {" X X X X X X X X X XX XX XX XX XX ", " XX XX 24 XX XX XX XX XX XX XX "}

    Returns: {" X X X X X X X X X XX XX XX XX XX ", " XX XX XX XX XX XX XX XX XX XX " }

  5. {" 7 X 19", " 6 12 4 20 16 17 ", " 8 22 X 13 9 18 ", " 5 11", " 21 3 24 10 23 15 14 "}

    Returns: {" 7 X 19", " 6 12 4 20 16 17 ", " 8 22 X 13 9 18 ", " 5 11", " 21 X 24 10 23 15 14 " }

  6. {"11 10 23 X", " 12 X 21 19 X X X ", " X", " 13 24 9 17", " X X 14 15 18 20", "16 22"}

    Returns: {"11 10 23 X", " 12 X 21 19 X X X ", " X", " 13 24 X 17", " X X 14 15 18 20", "16 22" }

  7. {" 15 13 19 16 7 9 8 10 ", " 21 ", " 2 X 23 5 24", "4 12 17 22 20 ", " 11 14 6 3 18 "}

    Returns: {" 15 13 19 16 7 9 8 10 ", " 21 ", " X X 23 5 24", "4 12 17 22 20 ", " 11 14 6 3 18 " }

  8. {" 17 X 21 X ", " X 13", " 24 22 ", "X X 16 XX ", " 23 15 18 19 X 12 X X", " XX ", " X 14 20 "}

    Returns: {" 17 X 21 X ", " X 13", " 24 22 ", "X X 16 XX ", " 23 15 18 19 X XX X X", " XX ", " X 14 20 " }

  9. {" 23 XX X 22 21 ", " X X XX 20 XX XX X X XX X ", " X 24 XX X XX XX XX XX X"}

    Returns: {" 23 XX X 22 21 ", " X X XX XX XX XX X X XX X ", " X 24 XX X XX XX XX XX X" }

  10. {" 13 14 X", " 16 17 19 ", "X X XX ", "X X 20 ", "X XX 18", " 22 15 24 X 21 ", "23 X XX X "}

    Returns: {" XX 14 X", " 16 17 19 ", "X X XX ", "X X 20 ", "X XX 18", " 22 15 24 X 21 ", "23 X XX X " }

  11. {" XX XX X X X 23 XX ", " XX XX XX ", "24 XX XX X X X 22", "XX XX X XX X X XX "}

    Returns: {" XX XX X X X 23 XX ", " XX XX XX ", "24 XX XX X X X XX", "XX XX X XX X X XX " }

  12. {" X X X 11", "21 ", " 9 19 13 16 ", "8 14 18", " X 10 X 15 20 ", " 22 24 X 12 ", " 23 17 7 "}

    Returns: {" X X X 11", "21 ", " 9 19 13 16 ", "8 14 18", " X 10 X 15 20 ", " 22 24 X 12 ", " 23 17 X " }

  13. {" XX 22 X ", "XX XX X ", " X 18 20 21 ", "X XX XX 23 X 24 ", " XX X XX X XX ", " X 19 X "}

    Returns: {" XX 22 X ", "XX XX X ", " X XX 20 21 ", "X XX XX 23 X 24 ", " XX X XX X XX ", " X 19 X " }

  14. {" 24 X 13 X X", " 23 11 21 X 19 ", " 18 X 14 ", "X 16 X ", " X 17 20 12 15 XX X 22 "}

    Returns: {" 24 X 13 X X", " 23 XX 21 X 19 ", " 18 X 14 ", "X 16 X ", " X 17 20 12 15 XX X 22 " }

  15. {" 12 15 13 18 19 ", " X X 23 9 X ", " 20 24 X X 21 X", "X 11 17 22 10 ", " 14 16 X "}

    Returns: {" 12 15 13 18 19 ", " X X 23 X X ", " 20 24 X X 21 X", "X 11 17 22 10 ", " 14 16 X " }

  16. {" XX X XX 20", "X X X X XX 21 ", " X XX X X 19 ", " XX XX XX 22 X XX ", " 24 XX 23 "}

    Returns: {" XX X XX 20", "X X X X XX 21 ", " X XX X X XX ", " XX XX XX 22 X XX ", " 24 XX 23 " }

  17. {" XX X X XX ", " XX X X X XX 20 24 XX 21 22", " X 19 18 XX 23 XX XX ", " X X X "}

    Returns: {" XX X X XX ", " XX X X X XX 20 24 XX 21 22", " X 19 XX XX 23 XX XX ", " X X X " }

  18. {"21 12 11", " 15 X 9 13 20 ", " 6 16 23 X 24 X ", "19 22 18 14 8 17 X X 10 7 "}

    Returns: {"21 12 11", " 15 X 9 13 20 ", " X 16 23 X 24 X ", "19 22 18 14 8 17 X X 10 7 " }

  19. {" 18 13 23 9", " 21 14 17 22 X X 12", " X 15 19 X X X ", " 11 X 10 16 20 ", " 24 X "}

    Returns: {" 18 13 23 X", " 21 14 17 22 X X 12", " X 15 19 X X X ", " 11 X 10 16 20 ", " 24 X " }

  20. {" 23 X 20", " X 7 24 14 ", " 17 X 15 ", " 12 19 16 X ", " X 11 18 9 10 13 X 22 8 21 "}

    Returns: {" 23 X 20", " X X 24 14 ", " 17 X 15 ", " 12 19 16 X ", " X 11 18 9 10 13 X 22 8 21 " }

  21. {" 24 7 20 22 X 9 5 ", " 10 X 23 X 17 13 ", " 11 14 18 16 19 8 21 15 6 X 12 "}

    Returns: {" 24 7 20 22 X 9 X ", " 10 X 23 X 17 13 ", " 11 14 18 16 19 8 21 15 6 X 12 " }

  22. {"24 21 1 10 6 ", "2 16 8 15 18 17 ", " 4 12 3 22 11", " 13 20 9 14 23 ", " 5 7 19 "}

    Returns: {"24 21 X 10 6 ", "2 16 8 15 18 17 ", " 4 12 3 22 11", " 13 20 9 14 23 ", " 5 7 19 " }

  23. {" 8 13 6 7 16 18 22 11 ", " X 19 17 21 X X 10 5 ", "20 12 ", " 15 ", " 9 X 24 23 14 "}

    Returns: {" 8 13 6 7 16 18 22 11 ", " X 19 17 21 X X 10 X ", "20 12 ", " 15 ", " 9 X 24 23 14 " }

  24. {"23 10 8 ", "12 7 11 ", " 20 24 13 9 15 18 ", " 22 3 5 6 2 ", " 21 4 1 14", " 19 16 ", " 17 "}

    Returns: {"23 10 8 ", "12 7 11 ", " 20 24 13 9 15 18 ", " 22 3 5 6 2 ", " 21 4 X 14", " 19 16 ", " 17 " }

  25. {"11 4 21 6 ", " 20 24 18 9 12 23 16 10 ", " 17 3 X 15 22 5 7 8 14 2 ", "19 13 "}

    Returns: {"11 4 21 6 ", " 20 24 18 9 12 23 16 10 ", " 17 3 X 15 22 5 7 8 14 X ", "19 13 " }

  26. {" XX XX X X ", " XX XX XX X X X X ", " X XX X 23 22 ", "X XX XX XX XX XX", " 24 XX "}

    Returns: {" XX XX X X ", " XX XX XX X X X X ", " X XX X 23 XX ", "X XX XX XX XX XX", " 24 XX " }

  27. {" 22 19 X 13 15 10 ", " 21 23 18 24 ", " X 7 8 16 11 ", " X 6 14", " X 12 X 20 17 9 "}

    Returns: {" 22 19 X 13 15 10 ", " 21 23 18 24 ", " X 7 8 16 11 ", " X X 14", " X 12 X 20 17 9 " }

  28. {" X ", " 17 9 X ", "X 10 15 22 X ", " 21 13 ", " 18 12 11 14 X", " X 16 ", " 23 19 X 20 24 8 "}

    Returns: {" X ", " 17 9 X ", "X 10 15 22 X ", " 21 13 ", " 18 12 11 14 X", " X 16 ", " 23 19 X 20 24 X " }

  29. {" XX XX X XX XX XX XX XX ", " XX X 24 X ", " XX XX XX ", "X ", " X XX", " X XX", " X XX X X "}

    Returns: {" XX XX X XX XX XX XX XX ", " XX X XX X ", " XX XX XX ", "X ", " X XX", " X XX", " X XX X X " }

  30. {"X 14 X", "X 24 ", " 23 XX X 17 X 16 ", " XX X 19 XX X ", " 22 18 21 XX X 20", "X 15 "}

    Returns: {"X XX X", "X 24 ", " 23 XX X 17 X 16 ", " XX X 19 XX X ", " 22 18 21 XX X 20", "X 15 " }

  31. {" 9 X 13 17 15 14 10 ", " 23 24 X X 19 X 20 ", "11 12 16 ", "X 22 21 X X X 18 "}

    Returns: {" X X 13 17 15 14 10 ", " 23 24 X X 19 X 20 ", "11 12 16 ", "X 22 21 X X X 18 " }

  32. {" XX 24 X X X 21 XX XX ", " XX X 22 ", " X X ", "X 23 ", "X XX XX XX 20", " XX X XX XX "}

    Returns: {" XX 24 X X X 21 XX XX ", " XX X 22 ", " X X ", "X 23 ", "X XX XX XX XX", " XX X XX XX " }

  33. {" 6 10 9 21 8 5 3 23 20 14 4 16 ", " X 18 17 22 24 11 7 ", " 2 12 13 19 15"}

    Returns: {" 6 10 9 21 8 5 3 23 20 14 4 16 ", " X 18 17 22 24 11 7 ", " X 12 13 19 15" }

  34. {" ", " X 20 XX X ", "X XX XX XX XX ", " X X 22 ", " 24 X X XX 23 ", " X XX 21 19 ", "XX XX X"}

    Returns: {" ", " X 20 XX X ", "X XX XX XX XX ", " X X 22 ", " 24 X X XX 23 ", " X XX 21 XX ", "XX XX X" }

  35. {"5 12 9 13 4 ", " 8 17 X 18 ", " 21 24 14 20 ", " X 10 X 6 23 ", " 16 15 22 19 7 11 "}

    Returns: {"5 12 9 13 X ", " 8 17 X 18 ", " 21 24 14 20 ", " X 10 X 6 23 ", " 16 15 22 19 7 11 " }

  36. {" 22 X X X", " 16 13 X 20 14 X 23 ", " X 12 17 X ", "15 11 18 21 X 19 X XX 24"}

    Returns: {" 22 X X X", " 16 13 X 20 14 X 23 ", " X 12 17 X ", "15 XX 18 21 X 19 X XX 24" }

  37. {" 20 13 22 23 11 15 ", " 9 10 6 ", "5 7 19 16 24 14", " 3 17 2 8 12 21 18 4 1 "}

    Returns: {" 20 13 22 23 11 15 ", " 9 10 6 ", "5 7 19 16 24 14", " 3 17 2 8 12 21 18 4 X " }

  38. {" 21 9 23 22 11 20 ", " X 19 13 15 16 ", "X 14 7 X ", "8 24 12 18 10", "X X 17 ", " 6 "}

    Returns: {" 21 9 23 22 11 20 ", " X 19 13 15 16 ", "X 14 7 X ", "8 24 12 18 10", "X X 17 ", " X " }

  39. {" XX X X XX ", " X X XX ", " X XX XX 24 X XX XX", " XX XX 23 X X ", "XX XX X XX XX "}

    Returns: {" XX X X XX ", " X X XX ", " X XX XX 24 X XX XX", " XX XX XX X X ", "XX XX X XX XX " }

  40. {" X XX 19 XX X XX X X ", "XX 22 X X 24 XX X ", " 20 XX XX XX 23 X 21 XX X "}

    Returns: {" X XX XX XX X XX X X ", "XX 22 X X 24 XX X ", " 20 XX XX XX 23 X 21 XX X " }

  41. {"18 16 X 2 ", " 6 19 7 ", "15 3 9 13 24 23 20 5 8 21 12", "11 ", " 22 4 14 10 17 "}

    Returns: {"18 16 X X ", " 6 19 7 ", "15 3 9 13 24 23 20 5 8 21 12", "11 ", " 22 4 14 10 17 " }

  42. {" XX X X ", " 20 X ", "X 24 XX 22 23 X XX ", " 21 XX X XX 19 ", " 18 X X XX X XX XX "}

    Returns: {" XX X X ", " 20 X ", "X 24 XX 22 23 X XX ", " 21 XX X XX 19 ", " XX X X XX X XX XX " }

  43. {" XX ", " XX X 24 X X ", " XX X XX XX X X XX XX ", " X XX XX XX X", " X XX XX ", "XX XX "}

    Returns: {" XX ", " XX X XX X X ", " XX X XX XX X X XX XX ", " X XX XX XX X", " X XX XX ", "XX XX " }

  44. {" 7 18 17 12 9 ", " 13 22 16 21 14", " 8 5 X 15 6 X 24 ", " 10 19 11 23", "X X 20"}

    Returns: {" 7 18 17 12 9 ", " 13 22 16 21 14", " 8 X X 15 6 X 24 ", " 10 19 11 23", "X X 20" }

  45. {" XX ", "X", " 19 ", " X X 21 ", " ", " X XX ", "20 ", " X ", " ", " ", " 22 XX ", " XX ", " ", " ", " ", " XX ", " 24 ", " 23 X ", "XX ", " ", " ", " ", " ", " ", " ", " ", "X ", " ", " ", " ", " ", "XX XX", " ", " XX ", " ", " X X ", " "}

    Returns: {" XX ", "X", " XX ", " X X 21 ", " ", " X XX ", "20 ", " X ", " ", " ", " 22 XX ", " XX ", " ", " ", " ", " XX ", " 24 ", " 23 X ", "XX ", " ", " ", " ", " ", " ", " ", " ", "X ", " ", " ", " ", " ", "XX XX", " ", " XX ", " ", " X X ", " " }

  46. {" ", " X 11 ", " ", " ", "6 ", " 24 ", "5", "X", " ", " ", " 16", " 12", " 10 ", " 14 ", " ", " 17 ", " ", " 8 ", " 13 ", " 20 ", "X ", " X ", " ", " 21", " 18", " ", " ", " 15 ", " 7", " ", " ", " ", " 22 19 9 ", " 23", " ", " ", " "}

    Returns: {" ", " X 11 ", " ", " ", "6 ", " 24 ", "X", "X", " ", " ", " 16", " 12", " 10 ", " 14 ", " ", " 17 ", " ", " 8 ", " 13 ", " 20 ", "X ", " X ", " ", " 21", " 18", " ", " ", " 15 ", " 7", " ", " ", " ", " 22 19 9 ", " 23", " ", " ", " " }

  47. {"9 23 X 21 13 24 X 8 19 ", "X 18 10 12 22 20 ", " X X 15 17 14 16 X X 11"}

    Returns: {"9 23 X 21 13 24 X X 19 ", "X 18 10 12 22 20 ", " X X 15 17 14 16 X X 11" }

  48. {"23 ", " X X 13 X 22 21 12 X 7 18 16 10 ", " 11 14 20 ", " 15 9 X 17 8 X 24 19 "}

    Returns: {"23 ", " X X 13 X 22 21 12 X X 18 16 10 ", " 11 14 20 ", " 15 9 X 17 8 X 24 19 " }

  49. {" ", " 24 ", "20 ", "18", " ", " XX XX ", " XX 19 ", " X ", " X X ", " 21 XX ", "17 X 22 ", " X XX ", " X XX ", " X 23 X XX ", " X "}

    Returns: {" ", " 24 ", "20 ", "18", " ", " XX XX ", " XX 19 ", " X ", " X X ", " 21 XX ", "XX X 22 ", " X XX ", " X XX ", " X 23 X XX ", " X " }

  50. {" ", " ", " ", " ", " XX ", " ", " ", " XX ", " X ", " ", " ", " X ", " ", " X ", " 22 XX", " 23 20", " 19 XX ", " XX", " X ", " ", " ", " ", " ", " ", " ", "X", " 24 XX", " ", " XX XX ", " ", " ", " ", " X", " 21 X ", " X X ", " XX "}

    Returns: {" ", " ", " ", " ", " XX ", " ", " ", " XX ", " X ", " ", " ", " X ", " ", " X ", " 22 XX", " 23 20", " XX XX ", " XX", " X ", " ", " ", " ", " ", " ", " ", "X", " 24 XX", " ", " XX XX ", " ", " ", " ", " X", " 21 X ", " X X ", " XX " }

  51. {" XX XX X", " ", "XX 21 ", " ", " X ", " XX ", " X ", " ", "X X ", "XX X XX ", " ", " X 19 23 ", " ", " ", "22 ", " ", "X ", " XX ", " ", " 18 XX", " 20 ", " ", " X ", "24 "}

    Returns: {" XX XX X", " ", "XX 21 ", " ", " X ", " XX ", " X ", " ", "X X ", "XX X XX ", " ", " X 19 23 ", " ", " ", "22 ", " ", "X ", " XX ", " ", " XX XX", " 20 ", " ", " X ", "24 " }

  52. {" 10", " 24 13 12 ", " ", " 22 X ", " 15 ", " 17 X X X 19", " 16 21 20 ", " ", " X 11 X ", " 23 18", " X ", " X X ", " 14 "}

    Returns: {" XX", " 24 13 12 ", " ", " 22 X ", " 15 ", " 17 X X X 19", " 16 21 20 ", " ", " X 11 X ", " 23 18", " X ", " X X ", " 14 " }

  53. {" XX X ", "X XX X ", " 22 XX X ", "24 XX ", "X ", " X XX X ", " XX", " ", " XX XX", "XX ", " ", " X", " ", " ", " XX XX ", "X", " 23 XX", " ", " "}

    Returns: {" XX X ", "X XX X ", " XX XX X ", "24 XX ", "X ", " X XX X ", " XX", " ", " XX XX", "XX ", " ", " X", " ", " ", " XX XX ", "X", " 23 XX", " ", " " }

  54. {" ", " ", " ", " X 19 X", " ", " X", " ", " ", " ", " 22 ", " ", " X", "18 ", " ", " 21 ", " ", " X ", " 15 ", " ", " ", " ", " 23 ", " ", " ", "17 ", " ", " 20 16", " ", " ", " X ", " ", "13 ", " ", "10 ", "12 ", " X ", " ", " 14", " 24 ", " ", " ", " ", " 11 X ", " ", " ", " ", " ", " X "}

    Returns: {" ", " ", " ", " X 19 X", " ", " X", " ", " ", " ", " 22 ", " ", " X", "18 ", " ", " 21 ", " ", " X ", " 15 ", " ", " ", " ", " 23 ", " ", " ", "17 ", " ", " 20 16", " ", " ", " X ", " ", "13 ", " ", "XX ", "12 ", " X ", " ", " 14", " 24 ", " ", " ", " ", " 11 X ", " ", " ", " ", " ", " X " }

  55. {" 12 ", " 6 ", " ", " 7 ", " 8 ", " 14 ", " 21 20 ", " 16 ", " ", " ", " ", " ", " X ", " ", " ", " ", " 5 ", " ", " 3 23 ", " ", " ", " ", " 24 ", " ", " ", " ", " 19 ", " ", " 4 ", " ", " 9 ", " ", " ", " 10 18 ", " 22 X ", " ", " ", " 15 ", " 13 ", " ", " ", " ", " 11 ", " 17 ", " ", " ", " ", " ", " ", " "}

    Returns: {" 12 ", " 6 ", " ", " 7 ", " 8 ", " 14 ", " 21 20 ", " 16 ", " ", " ", " ", " ", " X ", " ", " ", " ", " 5 ", " ", " X 23 ", " ", " ", " ", " 24 ", " ", " ", " ", " 19 ", " ", " 4 ", " ", " 9 ", " ", " ", " 10 18 ", " 22 X ", " ", " ", " 15 ", " 13 ", " ", " ", " ", " 11 ", " 17 ", " ", " ", " ", " ", " ", " " }

  56. {" ", " ", " ", " X ", " XX ", " ", " 23 ", " ", " ", " ", " XX ", " ", " ", " X ", " ", " ", " 24 ", " ", " X ", " ", " ", " ", " ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " X XX XX ", " XX X ", " X 22 ", " ", " ", " 21 ", " ", " X ", " XX XX ", " ", " ", " ", " X ", " XX ", " ", " ", " XX ", " ", " XX "}

    Returns: {" ", " ", " ", " X ", " XX ", " ", " 23 ", " ", " ", " ", " XX ", " ", " ", " X ", " ", " ", " 24 ", " ", " X ", " ", " ", " ", " ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " X XX XX ", " XX X ", " X 22 ", " ", " ", " XX ", " ", " X ", " XX XX ", " ", " ", " ", " X ", " XX ", " ", " ", " XX ", " ", " XX " }

  57. {" ", " ", " ", " X ", " ", " 24 ", " ", " XX ", " 18 ", " X ", " ", " ", " X 21 ", " ", " ", " ", " XX ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " ", " ", " 19 X ", " XX ", " ", " ", " 20 XX ", " ", " X XX X ", " ", " XX ", " X ", " ", " ", " ", " ", " ", " XX ", " 22 ", " ", " 23 X ", " ", " ", " ", " "}

    Returns: {" ", " ", " ", " X ", " ", " 24 ", " ", " XX ", " XX ", " X ", " ", " ", " X 21 ", " ", " ", " ", " XX ", " ", " ", " XX ", " ", " X ", " ", " ", " ", " ", " ", " 19 X ", " XX ", " ", " ", " 20 XX ", " ", " X XX X ", " ", " XX ", " X ", " ", " ", " ", " ", " ", " XX ", " 22 ", " ", " 23 X ", " ", " ", " ", " " }

  58. {" 14 ", " X ", " ", " ", " X 22 15 ", " X ", " ", " ", " 20 21 ", " ", " ", " 12 13 ", " ", " ", " ", " X 24 ", " ", " X ", " ", " ", " ", " 11 ", " ", " 19 ", " ", " ", " ", " ", " ", " ", " X ", " 16 ", " 18 ", " ", " XX ", " 23 ", " ", " ", " 17 ", " ", " X ", " ", " ", " ", " ", " ", " X ", " ", " X ", " "}

    Returns: {" 14 ", " X ", " ", " ", " X 22 15 ", " X ", " ", " ", " 20 21 ", " ", " ", " 12 13 ", " ", " ", " ", " X 24 ", " ", " X ", " ", " ", " ", " XX ", " ", " 19 ", " ", " ", " ", " ", " ", " ", " X ", " 16 ", " 18 ", " ", " XX ", " 23 ", " ", " ", " 17 ", " ", " X ", " ", " ", " ", " ", " ", " X ", " ", " X ", " " }

  59. {" ", " ", " ", " 10 ", " 20 ", " ", " ", " ", " 11 ", " X ", " ", " 23 ", " ", " ", " 7 ", " ", " ", " ", " ", " ", " ", " X ", " ", " ", " ", " 8 ", " ", " ", " 21 ", " 22 ", " 16 ", " 12 ", " 24 ", " X ", " 13 ", " 19 ", " X ", " ", " 18 17 ", " ", " ", " ", " ", " 9 ", " X 14 ", " 6 ", " 15 ", " ", " ", " "}

    Returns: {" ", " ", " ", " 10 ", " 20 ", " ", " ", " ", " 11 ", " X ", " ", " 23 ", " ", " ", " 7 ", " ", " ", " ", " ", " ", " ", " X ", " ", " ", " ", " 8 ", " ", " ", " 21 ", " 22 ", " 16 ", " 12 ", " 24 ", " X ", " 13 ", " 19 ", " X ", " ", " 18 17 ", " ", " ", " ", " ", " 9 ", " X 14 ", " X ", " 15 ", " ", " ", " " }

  60. {" ", " ", " 18 ", " ", " ", " ", " 24 ", " XX ", " ", " ", " XX ", " X ", " 19 ", " XX ", " ", " ", " 20 ", " ", " ", " 23 ", " ", " XX X ", " ", " ", " X XX ", " ", " X ", " X ", " ", " 21 ", " ", " XX ", " X ", " X ", " ", " ", " ", " ", " ", " XX ", " X ", " 17 ", " ", " ", " ", " ", " X ", " 22 ", " ", " "}

    Returns: {" ", " ", " 18 ", " ", " ", " ", " 24 ", " XX ", " ", " ", " XX ", " X ", " 19 ", " XX ", " ", " ", " 20 ", " ", " ", " 23 ", " ", " XX X ", " ", " ", " X XX ", " ", " X ", " X ", " ", " 21 ", " ", " XX ", " X ", " X ", " ", " ", " ", " ", " ", " XX ", " X ", " XX ", " ", " ", " ", " ", " X ", " 22 ", " ", " " }

  61. {" ", " ", " ", " ", " 24 ", " ", " ", " X 4 ", " ", " 15 ", " ", " ", " ", " ", " X ", " ", " 13 ", " 10 ", " ", " 18 ", " X ", " ", " ", " 12 ", " ", " 17 ", " 11 ", " 22 ", " 8 ", " 5 ", " ", " 7 ", " 21 ", " ", " ", " 19 ", " ", " 23 ", " ", " ", " 20 ", " 16 ", " ", " 14 ", " ", " ", " ", " 6 ", " 9 ", " "}

    Returns: {" ", " ", " ", " ", " 24 ", " ", " ", " X X ", " ", " 15 ", " ", " ", " ", " ", " X ", " ", " 13 ", " 10 ", " ", " 18 ", " X ", " ", " ", " 12 ", " ", " 17 ", " 11 ", " 22 ", " 8 ", " 5 ", " ", " 7 ", " 21 ", " ", " ", " 19 ", " ", " 23 ", " ", " ", " 20 ", " 16 ", " ", " 14 ", " ", " ", " ", " 6 ", " 9 ", " " }

  62. {" ", " X ", " 23 ", " X ", " ", " ", " ", " 17 ", " 19 ", " X ", " XX ", " 24 ", " ", " ", " ", " ", " X ", " ", " XX ", " ", " ", " XX ", " ", " 20 ", " ", " X X ", " ", " ", " ", " ", " XX X ", " ", " ", " ", " ", " X ", " XX ", " ", " ", " 18 ", " 21 ", " ", " ", " ", " ", " ", " X XX ", " ", " 22 ", " XX "}

    Returns: {" ", " X ", " 23 ", " X ", " ", " ", " ", " XX ", " 19 ", " X ", " XX ", " 24 ", " ", " ", " ", " ", " X ", " ", " XX ", " ", " ", " XX ", " ", " 20 ", " ", " X X ", " ", " ", " ", " ", " XX X ", " ", " ", " ", " ", " X ", " XX ", " ", " ", " 18 ", " 21 ", " ", " ", " ", " ", " ", " X XX ", " ", " 22 ", " XX " }

  63. {" 17 9 ", " 5 ", " 12 ", " 10 ", " ", " X ", " ", " X ", " ", " ", " ", " ", " ", " 8 22 ", " ", " 13 ", " ", " ", " ", " 7 ", " ", " ", " ", " 15 21 ", " ", " ", " ", " ", " ", " X ", " 11 ", " ", " ", " ", " ", " 18 ", " ", " 16 ", " ", " 6 ", " X ", " 20 ", " 19 ", " ", " ", " 23 ", " 24 ", " ", " 14 ", " "}

    Returns: {" 17 9 ", " X ", " 12 ", " 10 ", " ", " X ", " ", " X ", " ", " ", " ", " ", " ", " 8 22 ", " ", " 13 ", " ", " ", " ", " 7 ", " ", " ", " ", " 15 21 ", " ", " ", " ", " ", " ", " X ", " 11 ", " ", " ", " ", " ", " 18 ", " ", " 16 ", " ", " 6 ", " X ", " 20 ", " 19 ", " ", " ", " 23 ", " 24 ", " ", " 14 ", " " }

  64. {" ", " ", " ", " ", " 12 ", " 7 ", " 17 11 ", " ", " 3 ", " ", " 18 ", " ", " ", " ", " ", " 10 23 19 ", " ", " ", " 13 ", " ", " ", " ", " ", " 22 ", " ", " 20 ", " 2 ", " ", " 21 ", " ", " 14 ", " ", " 1 ", " ", " 6 ", " ", " ", " 8 ", " ", " 24 4 ", " ", " ", " ", " 5 ", " ", " ", " 9 ", " 16 ", " 15 ", " "}

    Returns: {" ", " ", " ", " ", " 12 ", " 7 ", " 17 11 ", " ", " 3 ", " ", " 18 ", " ", " ", " ", " ", " 10 23 19 ", " ", " ", " 13 ", " ", " ", " ", " ", " 22 ", " ", " 20 ", " 2 ", " ", " 21 ", " ", " 14 ", " ", " X ", " ", " 6 ", " ", " ", " 8 ", " ", " 24 4 ", " ", " ", " ", " 5 ", " ", " ", " 9 ", " 16 ", " 15 ", " " }

  65. {"X X X X X X X X X XX XX XX XX XX", "17 XX XX 18 19 20 21 22 23 24"}

    Returns: {"X X X X X X X X X XX XX XX XX XX", "XX XX XX 18 19 20 21 22 23 24" }

    Sometimes the numbers can appear on the beginning or end of line, too.

  66. {"X X X X X X X X X XX XX XX XX XX", "XX XX 18 19 20 21 22 23 24 17"}

    Returns: {"X X X X X X X X X XX XX XX XX XX", "XX XX 18 19 20 21 22 23 24 XX" }

  67. {"19 9 X 24 10 ", " X 18 7 3 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }

    Returns: {"19 9 X 24 10 ", " X 18 7 X 11", " 20 21 4 17 16 23", " 14 12 6 5 ", " 8 22 13 15" }


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: