Statistics

Problem Statement for "Spirals"

Problem Statement

Given the dimensions of a board, and a place to start, you will draw a spiral repeating sequence. The repeating sequence is:
0,1,2,3,4,5,6,7,8,9,0,1,2,...
First you will draw a '0' at the start position. The spiral is drawn starting right, then down, then left, then up, then right, ... repeating until no more can be drawn, making the tightest spiral possible. For example:
width = 5
height = 5
startx = 2
starty = 2

Beginning    Second      Later     Even Later  Finally
  01234       01234       01234       01234      01234

0 .....       .....       .....       012..      01234
1 .....       .....       .678.       96789      96789 
2 ..0..       ..01.       .501.       85010      85010
3 .....       .....       .432.       74321      74321
4 .....       .....       .....       65432      65432
If there is no place to go, stop drawing and put '.' characters in all the unreached spots:
width = 5
height = 6
startx = 1
starty = 1

Beginning    Second      Later     Even Later  Finally
  01234       01234       01234       01234      01234

0 .....       .....       678..       6789.      6789.
1 .0...       .01..       501..       5010.      5010. 
2 .....       .....       432..       4321.      4321.
3 .....       .....       .....       ..32.      5432.
4 .....       .....       .....       .....      .....
5 .....       .....       .....       .....      .....
Return the resulting drawing as a String[]. The parameters height and width represent the number of elements, and the number of characters per element in the returned String[], respectively. startx and starty are the column and row (both 0-indexed from the upper left corner) at which the sequence should begin.

Definition

Class:
Spirals
Method:
draw
Parameters:
int, int, int, int
Returns:
String[]
Method signature:
String[] draw(int width, int height, int startx, int starty)
(be sure your method is public)

Constraints

  • width must be between 1 and 50, inclusive.
  • height must be between 1 and 50, inclusive.
  • startx must be between 0 and width-1, inclusive.
  • starty must be between 0 and height-1, inclusive.

Examples

  1. 5

    5

    2

    2

    Returns: {"01234", "96789", "85010", "74321", "65432" }

    The first example in the problem statement.

  2. 5

    6

    1

    1

    Returns: {"6789.", "5010.", "4321.", "5432.", ".....", "....." }

    The second example from the problem statement.

  3. 10

    10

    0

    0

    Returns: {"01........", "32........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........." }

  4. 10

    10

    9

    9

    Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........0" }

  5. 1

    10

    0

    5

    Returns: {".", ".", ".", ".", ".", "0", ".", ".", ".", "." }

  6. 16

    43

    2

    7

    Returns: {"................", "................", "................", "................", "................", "012345..........", "967896..........", "850107..........", "743218..........", "654329..........", "543210..........", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................" }

  7. 3

    30

    2

    16

    Returns: {"...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "..0", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "..." }

  8. 4

    33

    3

    8

    Returns: {"....", "....", "....", "....", "....", "....", "....", "....", "...0", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "....", "...." }

  9. 13

    25

    2

    4

    Returns: {".............", ".............", "012345.......", "967896.......", "850107.......", "743218.......", "654329.......", "543210.......", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", "............." }

  10. 29

    11

    5

    6

    Returns: {".............................", ".............................", ".2345678901..................", ".1234567892..................", ".0101234503..................", ".9096789614..................", ".8985010725..................", ".7874321836..................", ".6765432947..................", ".5654321058..................", ".4321098769.................." }

  11. 29

    42

    27

    26

    Returns: {".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", "..........................678", "..........................501", "..........................432", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", ".............................", "............................." }

  12. 8

    21

    6

    14

    Returns: {"........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", ".....678", ".....501", ".....432", "........", "........", "........", "........", "........" }

  13. 8

    24

    5

    8

    Returns: {"........", "........", "........", "........", "........", "........", "...01234", "...96789", "...85010", "...74321", "...65432", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........" }

  14. 5

    28

    0

    16

    Returns: {".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", "01...", "32...", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", "....." }

  15. 26

    45

    1

    22

    Returns: {"..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "6789......................", "5010......................", "4321......................", "5432......................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", "..........................", ".........................." }

  16. 13

    47

    5

    32

    Returns: {".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", "012345678901.", "923456789012.", "812345678923.", "701012345034.", "690967896145.", "589850107256.", "478743218367.", "367654329478.", "256543210589.", "143210987690.", "098765432101.", "321098765432.", ".............", ".............", ".............", ".............", ".............", ".............", ".............", "............." }

  17. 11

    22

    6

    3

    Returns: {"..123456789", "..010123450", "..909678961", "..898501072", "..787432183", "..676543294", "..565432105", "..432109876", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "..........." }

  18. 12

    37

    6

    31

    Returns: {"............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", "............", ".01234567890", ".92345678901", ".81234567892", ".70101234503", ".69096789614", ".58985010725", ".47874321836", ".36765432947", ".25654321058", ".14321098769", ".09876543210" }

  19. 2

    13

    0

    3

    Returns: {"..", "..", "..", "01", "32", "..", "..", "..", "..", "..", "..", "..", ".." }

  20. 23

    8

    3

    1

    Returns: {".96789.................", ".85010.................", ".74321.................", ".65432.................", ".......................", ".......................", ".......................", "......................." }

  21. 38

    26

    4

    2

    Returns: {".1012345..............................", ".0967896..............................", ".9850107..............................", ".8743218..............................", ".7654329..............................", ".6543210..............................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................", "......................................" }

  22. 34

    20

    10

    0

    Returns: {".........501......................", ".........432......................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", "..................................", ".................................." }

  23. 23

    18

    14

    15

    Returns: {".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", ".......................", "............012345.....", "............967896.....", "............850107.....", "............743218.....", "............654329....." }

  24. 31

    9

    13

    4

    Returns: {".........2345678901............", ".........1234567892............", ".........0101234503............", ".........9096789614............", ".........8985010725............", ".........7874321836............", ".........6765432947............", ".........5654321058............", ".........4321098769............" }

  25. 36

    27

    26

    5

    Returns: {"....................5012345678901...", "....................4923456789012...", "....................3812345678923...", "....................2701012345034...", "....................1690967896145...", "....................0589850107256...", "....................9478743218367...", "....................8367654329478...", "....................7256543210589...", "....................6143210987690...", "....................5098765432101...", "....................4321098765432...", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "....................................", "...................................." }

  26. 22

    44

    16

    8

    Returns: {"......................", "......................", "......................", "...........01234567890", "...........92345678901", "...........81234567892", "...........70101234503", "...........69096789614", "...........58985010725", "...........47874321836", "...........36765432947", "...........25654321058", "...........14321098769", "...........09876543210", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................" }

  27. 11

    39

    1

    24

    Returns: {"...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "6789.......", "5010.......", "4321.......", "5432.......", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "...........", "..........." }

  28. 36

    21

    22

    8

    Returns: {".............1234567890123456789....", ".............0101234567890123450....", ".............9096789012345678961....", ".............8985012345678901072....", ".............7874923456789012183....", ".............6763812345678923294....", ".............5652701012345034305....", ".............4541690967896145416....", ".............3430589850107256527....", ".............2329478743218367638....", ".............1218367654329478749....", ".............0107256543210589850....", ".............9096143210987690961....", ".............8985098765432101072....", ".............7874321098765432183....", ".............6765432109876543294....", ".............5654321098765432105....", ".............4321098765432109876....", "....................................", "....................................", "...................................." }

  29. 46

    20

    26

    6

    Returns: {"...................967890123456789............", "...................850123456789010............", "...................749234567890121............", "...................638123456789232............", "...................527010123450343............", "...................416909678961454............", "...................305898501072565............", "...................294787432183676............", "...................183676543294787............", "...................072565432105898............", "...................961432109876909............", "...................850987654321010............", "...................743210987654321............", "...................654321098765432............", "..............................................", "..............................................", "..............................................", "..............................................", "..............................................", ".............................................." }

  30. 46

    22

    16

    13

    Returns: {"..............................................", "..............................................", "..............................................", "..............................................", "..............................................", "........234567890123456789....................", "........101234567890123450....................", "........096789012345678961....................", "........985012345678901072....................", "........874923456789012183....................", "........763812345678923294....................", "........652701012345034305....................", "........541690967896145416....................", "........430589850107256527....................", "........329478743218367638....................", "........218367654329478749....................", "........107256543210589850....................", "........096143210987690961....................", "........985098765432101072....................", "........874321098765432183....................", "........765432109876543294....................", "........654321098765432105...................." }

  31. 13

    18

    9

    15

    Returns: {".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".............", ".......012345", ".......967896", ".......850107", ".......743218", ".......654329" }

  32. 18

    26

    1

    20

    Returns: {"..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "6789..............", "5010..............", "4321..............", "5432..............", "..................", "..................", ".................." }

  33. 22

    23

    6

    15

    Returns: {"......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "67890123456789........", "50123456789010........", "49234567890121........", "38123456789232........", "27010123450343........", "16909678961454........", "05898501072565........", "94787432183676........", "83676543294787........", "72565432105898........", "61432109876909........", "50987654321010........", "43210987654321........", "54321098765432........" }

  34. 27

    19

    11

    1

    Returns: {".........96789.............", ".........85010.............", ".........74321.............", ".........65432.............", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "...........................", "..........................." }

  35. 36

    32

    17

    14

    Returns: {"..9234567890123456789012345678901...", "..8123456789012345678901234567892...", "..7010123456789012345678901234503...", "..6909678901234567890123456789614...", "..5898501234567890123456789010725...", "..4787492345678901234567890121836...", "..3676381234567890123456789232947...", "..2565270101234567890123450343058...", "..1454169096789012345678961454169...", "..0343058985012345678901072565270...", "..9232947874923456789012183676381...", "..8121836763812345678923294787492...", "..7010725652701012345034305898503...", "..6909614541690967896145416909614...", "..5898503430589850107256527010725...", "..4787492329478743218367638121836...", "..3676381218367654329478749232947...", "..2565270107256543210589850343058...", "..1454169096143210987690961454169...", "..0343058985098765432101072565270...", "..9232947874321098765432183676381...", "..8121836765432109876543294787492...", "..7010725654321098765432105898503...", "..6909614321098765432109876909614...", "..5898509876543210987654321010725...", "..4787432109876543210987654321836...", "..3676543210987654321098765432947...", "..2565432109876543210987654321058...", "..1432109876543210987654321098769...", "..0987654321098765432109876543210...", "....................................", "...................................." }

  36. 4

    14

    2

    9

    Returns: {"....", "....", "....", "....", "....", "....", "....", "....", ".678", ".501", ".432", "....", "....", "...." }

  37. 8

    42

    2

    32

    Returns: {"........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "012345..", "967896..", "850107..", "743218..", "654329..", "543210..", "........", "........", "........", "........", "........", "........" }

  38. 25

    16

    6

    9

    Returns: {".........................", ".........................", ".........................", "67890123456789...........", "50123456789010...........", "49234567890121...........", "38123456789232...........", "27010123450343...........", "16909678961454...........", "05898501072565...........", "94787432183676...........", "83676543294787...........", "72565432105898...........", "61432109876909...........", "50987654321010...........", "43210987654321..........." }

  39. 14

    17

    6

    3

    Returns: {"..123456789...", "..010123450...", "..909678961...", "..898501072...", "..787432183...", "..676543294...", "..565432105...", "..432109876...", "..............", "..............", "..............", "..............", "..............", "..............", "..............", "..............", ".............." }

  40. 3

    2

    1

    0

    Returns: {"501", "432" }

  41. 11

    7

    8

    3

    Returns: {"...........", "......01234", "......96789", "......85010", "......74321", "......65432", "..........." }

  42. 50

    50

    24

    24

    Returns: {"23456789012345678901234567890123456789012345678901", "12345678901234567890123456789012345678901234567892", "01012345678901234567890123456789012345678901234503", "90967890123456789012345678901234567890123456789614", "89850123456789012345678901234567890123456789010725", "78749234567890123456789012345678901234567890121836", "67638123456789012345678901234567890123456789232947", "56527010123456789012345678901234567890123450343058", "45416909678901234567890123456789012345678961454169", "34305898501234567890123456789012345678901072565270", "23294787492345678901234567890123456789012183676381", "12183676381234567890123456789012345678923294787492", "01072565270101234567890123456789012345034305898503", "90961454169096789012345678901234567896145416909614", "89850343058985012345678901234567890107256527010725", "78749232947874923456789012345678901218367638121836", "67638121836763812345678901234567892329478749232947", "56527010725652701012345678901234503430589850343058", "45416909614541690967890123456789614541690961454169", "34305898503430589850123456789010725652701072565270", "23294787492329478749234567890121836763812183676381", "12183676381218367638123456789232947874923294787492", "01072565270107256527010123450343058985034305898503", "90961454169096145416909678961454169096145416909614", "89850343058985034305898501072565270107256527010725", "78749232947874923294787432183676381218367638121836", "67638121836763812183676543294787492329478749232947", "56527010725652701072565432105898503430589850343058", "45416909614541690961432109876909614541690961454169", "34305898503430589850987654321010725652701072565270", "23294787492329478743210987654321836763812183676381", "12183676381218367654321098765432947874923294787492", "01072565270107256543210987654321058985034305898503", "90961454169096143210987654321098769096145416909614", "89850343058985098765432109876543210107256527010725", "78749232947874321098765432109876543218367638121836", "67638121836765432109876543210987654329478749232947", "56527010725654321098765432109876543210589850343058", "45416909614321098765432109876543210987690961454169", "34305898509876543210987654321098765432101072565270", "23294787432109876543210987654321098765432183676381", "12183676543210987654321098765432109876543294787492", "01072565432109876543210987654321098765432105898503", "90961432109876543210987654321098765432109876909614", "89850987654321098765432109876543210987654321010725", "78743210987654321098765432109876543210987654321836", "67654321098765432109876543210987654321098765432947", "56543210987654321098765432109876543210987654321058", "43210987654321098765432109876543210987654321098769", "98765432109876543210987654321098765432109876543210" }

  43. 50

    50

    25

    25

    Returns: {"..................................................", ".2345678901234567890123456789012345678901234567890", ".1234567890123456789012345678901234567890123456789", ".0101234567890123456789012345678901234567890123450", ".9096789012345678901234567890123456789012345678961", ".8985012345678901234567890123456789012345678901072", ".7874923456789012345678901234567890123456789012183", ".6763812345678901234567890123456789012345678923294", ".5652701012345678901234567890123456789012345034305", ".4541690967890123456789012345678901234567896145416", ".3430589850123456789012345678901234567890107256527", ".2329478749234567890123456789012345678901218367638", ".1218367638123456789012345678901234567892329478749", ".0107256527010123456789012345678901234503430589850", ".9096145416909678901234567890123456789614541690961", ".8985034305898501234567890123456789010725652701072", ".7874923294787492345678901234567890121836763812183", ".6763812183676381234567890123456789232947874923294", ".5652701072565270101234567890123450343058985034305", ".4541690961454169096789012345678961454169096145416", ".3430589850343058985012345678901072565270107256527", ".2329478749232947874923456789012183676381218367638", ".1218367638121836763812345678923294787492329478749", ".0107256527010725652701012345034305898503430589850", ".9096145416909614541690967896145416909614541690961", ".8985034305898503430589850107256527010725652701072", ".7874923294787492329478743218367638121836763812183", ".6763812183676381218367654329478749232947874923294", ".5652701072565270107256543210589850343058985034305", ".4541690961454169096143210987690961454169096145416", ".3430589850343058985098765432101072565270107256527", ".2329478749232947874321098765432183676381218367638", ".1218367638121836765432109876543294787492329478749", ".0107256527010725654321098765432105898503430589850", ".9096145416909614321098765432109876909614541690961", ".8985034305898509876543210987654321010725652701072", ".7874923294787432109876543210987654321836763812183", ".6763812183676543210987654321098765432947874923294", ".5652701072565432109876543210987654321058985034305", ".4541690961432109876543210987654321098769096145416", ".3430589850987654321098765432109876543210107256527", ".2329478743210987654321098765432109876543218367638", ".1218367654321098765432109876543210987654329478749", ".0107256543210987654321098765432109876543210589850", ".9096143210987654321098765432109876543210987690961", ".8985098765432109876543210987654321098765432101072", ".7874321098765432109876543210987654321098765432183", ".6765432109876543210987654321098765432109876543294", ".5654321098765432109876543210987654321098765432105", ".4321098765432109876543210987654321098765432109876" }

  44. 50

    50

    24

    25

    Returns: {"..................................................", "23456789012345678901234567890123456789012345678901", "12345678901234567890123456789012345678901234567892", "01012345678901234567890123456789012345678901234503", "90967890123456789012345678901234567890123456789614", "89850123456789012345678901234567890123456789010725", "78749234567890123456789012345678901234567890121836", "67638123456789012345678901234567890123456789232947", "56527010123456789012345678901234567890123450343058", "45416909678901234567890123456789012345678961454169", "34305898501234567890123456789012345678901072565270", "23294787492345678901234567890123456789012183676381", "12183676381234567890123456789012345678923294787492", "01072565270101234567890123456789012345034305898503", "90961454169096789012345678901234567896145416909614", "89850343058985012345678901234567890107256527010725", "78749232947874923456789012345678901218367638121836", "67638121836763812345678901234567892329478749232947", "56527010725652701012345678901234503430589850343058", "45416909614541690967890123456789614541690961454169", "34305898503430589850123456789010725652701072565270", "23294787492329478749234567890121836763812183676381", "12183676381218367638123456789232947874923294787492", "01072565270107256527010123450343058985034305898503", "90961454169096145416909678961454169096145416909614", "89850343058985034305898501072565270107256527010725", "78749232947874923294787432183676381218367638121836", "67638121836763812183676543294787492329478749232947", "56527010725652701072565432105898503430589850343058", "45416909614541690961432109876909614541690961454169", "34305898503430589850987654321010725652701072565270", "23294787492329478743210987654321836763812183676381", "12183676381218367654321098765432947874923294787492", "01072565270107256543210987654321058985034305898503", "90961454169096143210987654321098769096145416909614", "89850343058985098765432109876543210107256527010725", "78749232947874321098765432109876543218367638121836", "67638121836765432109876543210987654329478749232947", "56527010725654321098765432109876543210589850343058", "45416909614321098765432109876543210987690961454169", "34305898509876543210987654321098765432101072565270", "23294787432109876543210987654321098765432183676381", "12183676543210987654321098765432109876543294787492", "01072565432109876543210987654321098765432105898503", "90961432109876543210987654321098765432109876909614", "89850987654321098765432109876543210987654321010725", "78743210987654321098765432109876543210987654321836", "67654321098765432109876543210987654321098765432947", "56543210987654321098765432109876543210987654321058", "43210987654321098765432109876543210987654321098769" }

  45. 50

    50

    25

    24

    Returns: {".2345678901234567890123456789012345678901234567890", ".1234567890123456789012345678901234567890123456789", ".0101234567890123456789012345678901234567890123450", ".9096789012345678901234567890123456789012345678961", ".8985012345678901234567890123456789012345678901072", ".7874923456789012345678901234567890123456789012183", ".6763812345678901234567890123456789012345678923294", ".5652701012345678901234567890123456789012345034305", ".4541690967890123456789012345678901234567896145416", ".3430589850123456789012345678901234567890107256527", ".2329478749234567890123456789012345678901218367638", ".1218367638123456789012345678901234567892329478749", ".0107256527010123456789012345678901234503430589850", ".9096145416909678901234567890123456789614541690961", ".8985034305898501234567890123456789010725652701072", ".7874923294787492345678901234567890121836763812183", ".6763812183676381234567890123456789232947874923294", ".5652701072565270101234567890123450343058985034305", ".4541690961454169096789012345678961454169096145416", ".3430589850343058985012345678901072565270107256527", ".2329478749232947874923456789012183676381218367638", ".1218367638121836763812345678923294787492329478749", ".0107256527010725652701012345034305898503430589850", ".9096145416909614541690967896145416909614541690961", ".8985034305898503430589850107256527010725652701072", ".7874923294787492329478743218367638121836763812183", ".6763812183676381218367654329478749232947874923294", ".5652701072565270107256543210589850343058985034305", ".4541690961454169096143210987690961454169096145416", ".3430589850343058985098765432101072565270107256527", ".2329478749232947874321098765432183676381218367638", ".1218367638121836765432109876543294787492329478749", ".0107256527010725654321098765432105898503430589850", ".9096145416909614321098765432109876909614541690961", ".8985034305898509876543210987654321010725652701072", ".7874923294787432109876543210987654321836763812183", ".6763812183676543210987654321098765432947874923294", ".5652701072565432109876543210987654321058985034305", ".4541690961432109876543210987654321098769096145416", ".3430589850987654321098765432109876543210107256527", ".2329478743210987654321098765432109876543218367638", ".1218367654321098765432109876543210987654329478749", ".0107256543210987654321098765432109876543210589850", ".9096143210987654321098765432109876543210987690961", ".8985098765432109876543210987654321098765432101072", ".7874321098765432109876543210987654321098765432183", ".6765432109876543210987654321098765432109876543294", ".5654321098765432109876543210987654321098765432105", ".4321098765432109876543210987654321098765432109876", ".................................................." }

  46. 49

    49

    24

    24

    Returns: {"2345678901234567890123456789012345678901234567890", "1234567890123456789012345678901234567890123456789", "0101234567890123456789012345678901234567890123450", "9096789012345678901234567890123456789012345678961", "8985012345678901234567890123456789012345678901072", "7874923456789012345678901234567890123456789012183", "6763812345678901234567890123456789012345678923294", "5652701012345678901234567890123456789012345034305", "4541690967890123456789012345678901234567896145416", "3430589850123456789012345678901234567890107256527", "2329478749234567890123456789012345678901218367638", "1218367638123456789012345678901234567892329478749", "0107256527010123456789012345678901234503430589850", "9096145416909678901234567890123456789614541690961", "8985034305898501234567890123456789010725652701072", "7874923294787492345678901234567890121836763812183", "6763812183676381234567890123456789232947874923294", "5652701072565270101234567890123450343058985034305", "4541690961454169096789012345678961454169096145416", "3430589850343058985012345678901072565270107256527", "2329478749232947874923456789012183676381218367638", "1218367638121836763812345678923294787492329478749", "0107256527010725652701012345034305898503430589850", "9096145416909614541690967896145416909614541690961", "8985034305898503430589850107256527010725652701072", "7874923294787492329478743218367638121836763812183", "6763812183676381218367654329478749232947874923294", "5652701072565270107256543210589850343058985034305", "4541690961454169096143210987690961454169096145416", "3430589850343058985098765432101072565270107256527", "2329478749232947874321098765432183676381218367638", "1218367638121836765432109876543294787492329478749", "0107256527010725654321098765432105898503430589850", "9096145416909614321098765432109876909614541690961", "8985034305898509876543210987654321010725652701072", "7874923294787432109876543210987654321836763812183", "6763812183676543210987654321098765432947874923294", "5652701072565432109876543210987654321058985034305", "4541690961432109876543210987654321098769096145416", "3430589850987654321098765432109876543210107256527", "2329478743210987654321098765432109876543218367638", "1218367654321098765432109876543210987654329478749", "0107256543210987654321098765432109876543210589850", "9096143210987654321098765432109876543210987690961", "8985098765432109876543210987654321098765432101072", "7874321098765432109876543210987654321098765432183", "6765432109876543210987654321098765432109876543294", "5654321098765432109876543210987654321098765432105", "4321098765432109876543210987654321098765432109876" }

  47. 49

    50

    24

    25

    Returns: {".................................................", "2345678901234567890123456789012345678901234567890", "1234567890123456789012345678901234567890123456789", "0101234567890123456789012345678901234567890123450", "9096789012345678901234567890123456789012345678961", "8985012345678901234567890123456789012345678901072", "7874923456789012345678901234567890123456789012183", "6763812345678901234567890123456789012345678923294", "5652701012345678901234567890123456789012345034305", "4541690967890123456789012345678901234567896145416", "3430589850123456789012345678901234567890107256527", "2329478749234567890123456789012345678901218367638", "1218367638123456789012345678901234567892329478749", "0107256527010123456789012345678901234503430589850", "9096145416909678901234567890123456789614541690961", "8985034305898501234567890123456789010725652701072", "7874923294787492345678901234567890121836763812183", "6763812183676381234567890123456789232947874923294", "5652701072565270101234567890123450343058985034305", "4541690961454169096789012345678961454169096145416", "3430589850343058985012345678901072565270107256527", "2329478749232947874923456789012183676381218367638", "1218367638121836763812345678923294787492329478749", "0107256527010725652701012345034305898503430589850", "9096145416909614541690967896145416909614541690961", "8985034305898503430589850107256527010725652701072", "7874923294787492329478743218367638121836763812183", "6763812183676381218367654329478749232947874923294", "5652701072565270107256543210589850343058985034305", "4541690961454169096143210987690961454169096145416", "3430589850343058985098765432101072565270107256527", "2329478749232947874321098765432183676381218367638", "1218367638121836765432109876543294787492329478749", "0107256527010725654321098765432105898503430589850", "9096145416909614321098765432109876909614541690961", "8985034305898509876543210987654321010725652701072", "7874923294787432109876543210987654321836763812183", "6763812183676543210987654321098765432947874923294", "5652701072565432109876543210987654321058985034305", "4541690961432109876543210987654321098769096145416", "3430589850987654321098765432109876543210107256527", "2329478743210987654321098765432109876543218367638", "1218367654321098765432109876543210987654329478749", "0107256543210987654321098765432109876543210589850", "9096143210987654321098765432109876543210987690961", "8985098765432109876543210987654321098765432101072", "7874321098765432109876543210987654321098765432183", "6765432109876543210987654321098765432109876543294", "5654321098765432109876543210987654321098765432105", "4321098765432109876543210987654321098765432109876" }

  48. 3

    4

    0

    0

    Returns: {"01.", "32.", "...", "..." }

  49. 3

    4

    0

    1

    Returns: {"...", "01.", "32.", "..." }

  50. 3

    4

    0

    2

    Returns: {"...", "...", "01.", "32." }

  51. 3

    4

    0

    3

    Returns: {"...", "...", "...", "01." }

  52. 3

    4

    1

    0

    Returns: {"501", "432", "...", "..." }

  53. 3

    4

    1

    1

    Returns: {"678", "501", "432", "..." }

  54. 3

    4

    1

    2

    Returns: {"...", "678", "501", "432" }

  55. 3

    4

    1

    3

    Returns: {"...", "...", "...", ".01" }

  56. 3

    4

    2

    0

    Returns: {"..0", "...", "...", "..." }

  57. 3

    4

    2

    1

    Returns: {"...", "..0", "...", "..." }

  58. 3

    4

    2

    2

    Returns: {"...", "...", "..0", "..." }

  59. 3

    4

    2

    3

    Returns: {"...", "...", "...", "..0" }

  60. 11

    7

    8

    3

    Returns: {"...........", "......01234", "......96789", "......85010", "......74321", "......65432", "..........." }

  61. 50

    50

    25

    25

    Returns: {"..................................................", ".2345678901234567890123456789012345678901234567890", ".1234567890123456789012345678901234567890123456789", ".0101234567890123456789012345678901234567890123450", ".9096789012345678901234567890123456789012345678961", ".8985012345678901234567890123456789012345678901072", ".7874923456789012345678901234567890123456789012183", ".6763812345678901234567890123456789012345678923294", ".5652701012345678901234567890123456789012345034305", ".4541690967890123456789012345678901234567896145416", ".3430589850123456789012345678901234567890107256527", ".2329478749234567890123456789012345678901218367638", ".1218367638123456789012345678901234567892329478749", ".0107256527010123456789012345678901234503430589850", ".9096145416909678901234567890123456789614541690961", ".8985034305898501234567890123456789010725652701072", ".7874923294787492345678901234567890121836763812183", ".6763812183676381234567890123456789232947874923294", ".5652701072565270101234567890123450343058985034305", ".4541690961454169096789012345678961454169096145416", ".3430589850343058985012345678901072565270107256527", ".2329478749232947874923456789012183676381218367638", ".1218367638121836763812345678923294787492329478749", ".0107256527010725652701012345034305898503430589850", ".9096145416909614541690967896145416909614541690961", ".8985034305898503430589850107256527010725652701072", ".7874923294787492329478743218367638121836763812183", ".6763812183676381218367654329478749232947874923294", ".5652701072565270107256543210589850343058985034305", ".4541690961454169096143210987690961454169096145416", ".3430589850343058985098765432101072565270107256527", ".2329478749232947874321098765432183676381218367638", ".1218367638121836765432109876543294787492329478749", ".0107256527010725654321098765432105898503430589850", ".9096145416909614321098765432109876909614541690961", ".8985034305898509876543210987654321010725652701072", ".7874923294787432109876543210987654321836763812183", ".6763812183676543210987654321098765432947874923294", ".5652701072565432109876543210987654321058985034305", ".4541690961432109876543210987654321098769096145416", ".3430589850987654321098765432109876543210107256527", ".2329478743210987654321098765432109876543218367638", ".1218367654321098765432109876543210987654329478749", ".0107256543210987654321098765432109876543210589850", ".9096143210987654321098765432109876543210987690961", ".8985098765432109876543210987654321098765432101072", ".7874321098765432109876543210987654321098765432183", ".6765432109876543210987654321098765432109876543294", ".5654321098765432109876543210987654321098765432105", ".4321098765432109876543210987654321098765432109876" }

  62. 45

    38

    17

    12

    Returns: {"....101234567890123456789012345..............", "....096789012345678901234567896..............", "....985012345678901234567890107..............", "....874923456789012345678901218..............", "....763812345678901234567892329..............", "....652701012345678901234503430..............", "....541690967890123456789614541..............", "....430589850123456789010725652..............", "....329478749234567890121836763..............", "....218367638123456789232947874..............", "....107256527010123450343058985..............", "....096145416909678961454169096..............", "....985034305898501072565270107..............", "....874923294787432183676381218..............", "....763812183676543294787492329..............", "....652701072565432105898503430..............", "....541690961432109876909614541..............", "....430589850987654321010725652..............", "....329478743210987654321836763..............", "....218367654321098765432947874..............", "....107256543210987654321058985..............", "....096143210987654321098769096..............", "....985098765432109876543210107..............", "....874321098765432109876543218..............", "....765432109876543210987654329..............", "....654321098765432109876543210..............", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", ".............................................", "............................................." }

  63. 50

    50

    1

    46

    Returns: {"..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "6789..............................................", "5010..............................................", "4321..............................................", "5432..............................................", ".................................................." }

  64. 1

    2

    0

    0

    Returns: {"0", "." }

  65. 2

    2

    0

    1

    Returns: {"..", "01" }

  66. 10

    10

    6

    9

    Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "......01.." }

  67. 4

    1

    1

    0

    Returns: {".01." }

  68. 10

    1

    5

    0

    Returns: {".....01..." }

  69. 5

    5

    2

    4

    Returns: {".....", ".....", ".....", ".....", "..01." }

  70. 10

    10

    2

    9

    Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "..01......" }

  71. 10

    1

    0

    0

    Returns: {"01........" }

  72. 2

    1

    0

    0

    Returns: {"01" }

  73. 5

    3

    1

    2

    Returns: {".....", ".....", ".01.." }

  74. 9

    47

    6

    40

    Returns: {".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", ".........", "....01234", "....96789", "....85010", "....74321", "....65432", ".........", ".........", ".........", "........." }

  75. 22

    9

    8

    8

    Returns: {"......................", "......................", "......................", "......................", "......................", "......................", "......................", "......................", "........01............" }

  76. 3

    3

    0

    2

    Returns: {"...", "...", "01." }

  77. 49

    50

    25

    30

    Returns: {".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", ".................................................", "......2345678901234567890123456789012345678901...", "......1234567890123456789012345678901234567892...", "......0101234567890123456789012345678901234503...", "......9096789012345678901234567890123456789614...", "......8985012345678901234567890123456789010725...", "......7874923456789012345678901234567890121836...", "......6763812345678901234567890123456789232947...", "......5652701012345678901234567890123450343058...", "......4541690967890123456789012345678961454169...", "......3430589850123456789012345678901072565270...", "......2329478749234567890123456789012183676381...", "......1218367638123456789012345678923294787492...", "......0107256527010123456789012345034305898503...", "......9096145416909678901234567896145416909614...", "......8985034305898501234567890107256527010725...", "......7874923294787492345678901218367638121836...", "......6763812183676381234567892329478749232947...", "......5652701072565270101234503430589850343058...", "......4541690961454169096789614541690961454169...", "......3430589850343058985010725652701072565270...", "......2329478749232947874321836763812183676381...", "......1218367638121836765432947874923294787492...", "......0107256527010725654321058985034305898503...", "......9096145416909614321098769096145416909614...", "......8985034305898509876543210107256527010725...", "......7874923294787432109876543218367638121836...", "......6763812183676543210987654329478749232947...", "......5652701072565432109876543210589850343058...", "......4541690961432109876543210987690961454169...", "......3430589850987654321098765432101072565270...", "......2329478743210987654321098765432183676381...", "......1218367654321098765432109876543294787492...", "......0107256543210987654321098765432105898503...", "......9096143210987654321098765432109876909614...", "......8985098765432109876543210987654321010725...", "......7874321098765432109876543210987654321836...", "......6765432109876543210987654321098765432947...", "......5654321098765432109876543210987654321058...", "......4321098765432109876543210987654321098769..." }

  78. 2

    1

    1

    0

    Returns: {".0" }

  79. 19

    34

    4

    33

    Returns: {"...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "...................", "....01............." }

  80. 2

    10

    0

    8

    Returns: {"..", "..", "..", "..", "..", "..", "..", "..", "01", "32" }

  81. 1

    1

    0

    0

    Returns: {"0" }

  82. 50

    50

    24

    25

    Returns: {"..................................................", "23456789012345678901234567890123456789012345678901", "12345678901234567890123456789012345678901234567892", "01012345678901234567890123456789012345678901234503", "90967890123456789012345678901234567890123456789614", "89850123456789012345678901234567890123456789010725", "78749234567890123456789012345678901234567890121836", "67638123456789012345678901234567890123456789232947", "56527010123456789012345678901234567890123450343058", "45416909678901234567890123456789012345678961454169", "34305898501234567890123456789012345678901072565270", "23294787492345678901234567890123456789012183676381", "12183676381234567890123456789012345678923294787492", "01072565270101234567890123456789012345034305898503", "90961454169096789012345678901234567896145416909614", "89850343058985012345678901234567890107256527010725", "78749232947874923456789012345678901218367638121836", "67638121836763812345678901234567892329478749232947", "56527010725652701012345678901234503430589850343058", "45416909614541690967890123456789614541690961454169", "34305898503430589850123456789010725652701072565270", "23294787492329478749234567890121836763812183676381", "12183676381218367638123456789232947874923294787492", "01072565270107256527010123450343058985034305898503", "90961454169096145416909678961454169096145416909614", "89850343058985034305898501072565270107256527010725", "78749232947874923294787432183676381218367638121836", "67638121836763812183676543294787492329478749232947", "56527010725652701072565432105898503430589850343058", "45416909614541690961432109876909614541690961454169", "34305898503430589850987654321010725652701072565270", "23294787492329478743210987654321836763812183676381", "12183676381218367654321098765432947874923294787492", "01072565270107256543210987654321058985034305898503", "90961454169096143210987654321098769096145416909614", "89850343058985098765432109876543210107256527010725", "78749232947874321098765432109876543218367638121836", "67638121836765432109876543210987654329478749232947", "56527010725654321098765432109876543210589850343058", "45416909614321098765432109876543210987690961454169", "34305898509876543210987654321098765432101072565270", "23294787432109876543210987654321098765432183676381", "12183676543210987654321098765432109876543294787492", "01072565432109876543210987654321098765432105898503", "90961432109876543210987654321098765432109876909614", "89850987654321098765432109876543210987654321010725", "78743210987654321098765432109876543210987654321836", "67654321098765432109876543210987654321098765432947", "56543210987654321098765432109876543210987654321058", "43210987654321098765432109876543210987654321098769" }

  83. 5

    5

    4

    4

    Returns: {".....", ".....", ".....", ".....", "....0" }

  84. 23

    3

    8

    2

    Returns: {".......................", ".......................", "........01............." }

  85. 49

    1

    32

    0

    Returns: {"................................01..............." }

  86. 2

    3

    1

    2

    Returns: {"..", "..", ".0" }

  87. 5

    4

    1

    3

    Returns: {".....", ".....", ".....", ".01.." }

  88. 10

    1

    4

    0

    Returns: {"....01...." }


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: