Statistics

Problem Statement for "FireSimulation"

Problem Statement

You have a special model for simulating fire. It is a rectangular grid containing cells of equal size. Each cell contains a digit indicating how many minutes it takes for that cell to burn completely once it catches fire. After a cell is completely burned, the fire spreads to its vertically and horizontally adjacent cells.

You are given a String[] field, where the j-th character of the i-th element is the digit of the cell at row i, column j. At minute 0, the cell at row 0, column 0 catches fire. Return the state of the field at the given minute. The return value must be a String[] formatted exactly like field, but with '*' characters representing cells that are on fire and '.' characters representing cells that have burned completely.

Definition

Class:
FireSimulation
Method:
getState
Parameters:
String[], int
Returns:
String[]
Method signature:
String[] getState(String[] field, int minute)
(be sure your method is public)

Constraints

  • field must contain between 1 and 10 elements, inclusive.
  • Each element of field must contain between 1 and 10 characters, inclusive.
  • Each element of field must contain the same number of characters.
  • field must contain only digits between '1' and '9', inclusive.
  • minute must be between 0 and 100, inclusive.

Examples

  1. {"11111111"}

    4

    Returns: {"....*111" }

  2. {"123456789"}

    5

    Returns: {"..*456789" }

  3. {"111", "211", "311"}

    2

    Returns: {"..*", "**1", "311" }

    At minute 0, it looks like this: {"*11", "211", "311"} At minute 1, the cell at row 0, column 0 is burned completely and the two adjacent cells catch fire: {".*1", "*11", "311"} At minute 2, the cell at row 1, column 0 is still burning (it takes 2 minutes to burn completely). The cell at row 0, column 1 is burned completely and its adjacent cells catch fire. The cell at row 0, column 0 is an adjacent cell, but it's already completely burned, so it's not affected: {"..*", "**1", "311"}

  4. {"7"}

    7

    Returns: {"." }

  5. {"74"}

    1

    Returns: {"*4" }

  6. {"145"}

    6

    Returns: {"..*" }

  7. {"3172"}

    1

    Returns: {"*172" }

  8. {"55444"}

    17

    Returns: {"...*4" }

  9. {"1", "1"}

    2

    Returns: {".", "." }

  10. {"11", "11"}

    1

    Returns: {".*", "*1" }

  11. {"246", "653"}

    15

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

  12. {"1236", "5151"}

    18

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

  13. {"41414", "42324"}

    9

    Returns: {"...*4", "..*24" }

  14. {"4", "1", "2"}

    4

    Returns: {".", "*", "2" }

  15. {"11", "11", "11"}

    2

    Returns: {"..", ".*", "*1" }

  16. {"111", "455", "485"}

    11

    Returns: {"...", "...", ".**" }

  17. {"5513", "3974", "2461"}

    19

    Returns: {"....", "....", "..*." }

  18. {"56654", "74565", "26233"}

    24

    Returns: {"....*", "...*5", "...*3" }

  19. {"1", "1", "1", "1"}

    1

    Returns: {".", "*", "1", "1" }

  20. {"42", "13", "22", "44"}

    7

    Returns: {"..", ".*", ".*", "*4" }

  21. {"244", "143", "442", "332"}

    0

    Returns: {"*44", "143", "442", "332" }

  22. {"1212", "1221", "2122", "2122"}

    4

    Returns: {"...*", "..*1", ".*22", "*122" }

  23. {"13955", "87729", "93964", "97541"}

    16

    Returns: {"...*5", "..*29", "*.*64", "9*541" }

  24. {"6", "6", "5", "2", "4"}

    17

    Returns: {".", ".", ".", "*", "4" }

  25. {"82", "37", "48", "45", "45"}

    9

    Returns: {".*", "*7", "48", "45", "45" }

  26. {"131", "221", "214", "312", "423"}

    4

    Returns: {"..*", ".*1", "*14", "312", "423" }

  27. {"3323", "2143", "4313", "1212", "1324"}

    6

    Returns: {"..*3", "..*3", "**13", "1212", "1324" }

  28. {"21222", "11122", "12111", "22211", "11122"}

    13

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

  29. {"3", "3", "2", "3", "2", "3", "1", "2"}

    3

    Returns: {".", "*", "2", "3", "2", "3", "1", "2" }

  30. {"1222111", "1122121", "1121211", "2221111", "1112212", "2122121", "2111222"}

    0

    Returns: {"*222111", "1122121", "1121211", "2221111", "1112212", "2122121", "2111222" }

  31. {"62356336", "26265413", "65543131", "13652264", "65251441", "46541353", "15541112", "45554462", "24546434", "45331232"}

    36

    Returns: {"........", "........", "........", "........", "........", "......**", "........", "..**..*.", "..*4**3*", ".*331232" }

  32. {"22211", "22112"}

    3

    Returns: {".*211", "*2112" }

  33. {"1111111111", "1111111111", "1111111111", "1111111111", "1111111111"}

    7

    Returns: {".......*11", "......*111", ".....*1111", "....*11111", "...*111111" }

  34. {"312441", "421113", "332413", "423133", "142223", "123324"}

    19

    Returns: {"......", "......", "......", "......", "......", ".....*" }

  35. {"21121", "12113", "13213", "32313", "21333", "22312", "11111", "13232"}

    2

    Returns: {".*121", "*2113", "13213", "32313", "21333", "22312", "11111", "13232" }

  36. {"78", "28", "92", "98"}

    10

    Returns: {".*", ".*", "*2", "98" }

  37. {"33122222", "12431422", "22221114"}

    3

    Returns: {".*122222", "*2431422", "22221114" }

  38. {"222212221", "222121222"}

    15

    Returns: {"........*", ".......*2" }

  39. {"951", "599"}

    23

    Returns: {"...", "..*" }

  40. {"4742252", "2913247", "3864466", "6238512"}

    16

    Returns: {"...*252", "...*247", ".**4466", ".*38512" }

  41. {"111221"}

    4

    Returns: {"...*21" }

  42. {"8778278", "2854462", "8417614", "7564887", "2571112", "4457638", "4645171", "8424558", "8247747", "1212215"}

    16

    Returns: {"..*8278", ".*54462", "*417614", "7564887", "2571112", "4457638", "4645171", "8424558", "8247747", "1212215" }

  43. {"626", "615", "896", "496", "734", "199", "178"}

    22

    Returns: {"...", "...", "...", "***", "734", "199", "178" }

  44. {"4145959866", "2658878618"}

    52

    Returns: {".........*", ".........*" }

  45. {"121", "122", "332"}

    4

    Returns: {"...", "..*", "**2" }

  46. {"78", "84", "75"}

    0

    Returns: {"*8", "84", "75" }

  47. {"11111", "11111", "11111"}

    6

    Returns: {".....", ".....", "....*" }

  48. {"2111", "2122", "1121", "1111", "1121", "2211", "2111", "2212", "1122", "1111"}

    1

    Returns: {"*111", "2122", "1121", "1111", "1121", "2211", "2111", "2212", "1122", "1111" }

  49. {"9112699", "7711235", "4165378", "1486134"}

    15

    Returns: {"....*99", "**...*5", "41***78", "1486134" }

  50. {"26254", "75242"}

    17

    Returns: {"....*", "....*" }

  51. {"7418316646", "5527665515", "9879887589", "5494819348", "7752619697", "1668881697", "5566636529", "9544952245"}

    84

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

  52. {"11", "11", "11", "11", "11", "11", "11", "11", "11"}

    0

    Returns: {"*1", "11", "11", "11", "11", "11", "11", "11", "11" }

  53. {"853828", "141316", "428377", "313234", "357226", "617624", "622362", "143385", "485865"}

    46

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

  54. {"111", "111", "111", "111", "111", "111", "111"}

    9

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

  55. {"1111111", "1111111", "1111111", "1111111", "1111111", "1111111", "1111111", "1111111"}

    8

    Returns: {".......", ".......", "......*", ".....*1", "....*11", "...*111", "..*1111", ".*11111" }

  56. {"111211222", "112221121", "121112122", "121221211", "112211122", "211112221", "111111211"}

    0

    Returns: {"*11211222", "112221121", "121112122", "121221211", "112211122", "211112221", "111111211" }

  57. {"75285", "64315", "73475", "48776", "36266"}

    31

    Returns: {".....", ".....", ".....", "...**", ".*.*6" }

  58. {"12222", "12121", "22212"}

    5

    Returns: {"...*2", "...*1", ".**12" }

  59. {"13194216", "85454579", "69182567", "41627599", "17533145", "12457377", "17527339", "62143748"}

    13

    Returns: {"...*4216", "...*4579", "**.*2567", "41*27599", "17533145", "12457377", "17527339", "62143748" }

  60. {"714634743", "517644745", "163242612"}

    41

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

  61. {"2231", "2412", "4344", "4211", "4142", "3221", "2432", "4334", "3331"}

    23

    Returns: {"....", "....", "....", "....", "....", "....", "....", "*.*.", "3*3*" }

  62. {"6173235351"}

    6

    Returns: {".*73235351" }

  63. {"722924", "226331", "882886", "393274", "675572", "938491"}

    29

    Returns: {"......", "......", "....**", "....*4", ".*..*2", "*3**91" }

  64. {"2243", "2524", "6636", "2142", "4262", "2615", "2662", "6542", "1254"}

    9

    Returns: {"...*", "..*4", "**36", "2142", "4262", "2615", "2662", "6542", "1254" }

  65. {"1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111"}

    8

    Returns: {"....", "....", "....", "....", "....", "...*", "..*1", ".*11" }

  66. {"3124", "4311"}

    13

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

  67. {"65337", "72162", "67614", "37214"}

    6

    Returns: {".*337", "*2162", "67614", "37214" }

  68. {"228231542"}

    37

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

  69. {"588849", "376196", "585287", "293869", "298219"}

    33

    Returns: {".....*", ".....*", ".....*", "....*9", "..**19" }

  70. {"66131551"}

    8

    Returns: {".*131551" }

  71. {"13343424", "31333351", "31531151", "12145552"}

    18

    Returns: {"......*4", "......*1", "......*1", ".....*52" }

  72. {"2211211"}

    3

    Returns: {".*11211" }

  73. {"46633", "66355", "15462", "43412", "36441", "24312", "12351", "51355"}

    34

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

  74. {"111111", "111111", "111111", "111111", "111111", "111111"}

    2

    Returns: {"..*111", ".*1111", "*11111", "111111", "111111", "111111" }

  75. {"7274193189", "2737277778"}

    36

    Returns: {"........*9", "......**78" }

  76. {"23352157", "31246321", "52461164", "72452237", "54457113", "12275116"}

    23

    Returns: {".......*", "........", "......**", "......*7", "....*.*3", "...*5*16" }

  77. {"341546747"}

    30

    Returns: {".......*7" }

  78. {"212311313", "333312131", "132323312"}

    13

    Returns: {".......*3", ".......*1", ".....**12" }

  79. {"4466835389", "7674586765", "9437757717", "6727641921", "4719154697", "1242459984", "4438867169", "6947534445", "8964767994", "2687383419"}

    78

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

  80. {"2287718998", "7926732983", "6875193782", "1227946417", "9282337158", "8959373726", "4593567332", "8152796366", "5319289668", "6546748946"}

    64

    Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "......*.**", "......**46" }

  81. {"5582295211", "7788357368", "2769841627", "2886157624", "6974258562", "9189136769", "2218154652", "9796843822", "6828184654", "4976151438"}

    64

    Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "........**", ".........*" }

  82. {"5811699712", "2648222658", "2179354772", "2874977592", "3515819932", "9977464252", "7969479517", "2317637874", "8354959849", "2895913168"}

    62

    Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........*", "......***9", "........*8" }

  83. {"5417278228", "9419637326", "4741789531", "1895483866", "4378712348", "4522994468", "8222938121", "2881755641", "8834731226", "2449989667"}

    7

    Returns: {".*17278228", "*419637326", "4741789531", "1895483866", "4378712348", "4522994468", "8222938121", "2881755641", "8834731226", "2449989667" }

  84. {"1991111991", "1999999991", "1991111991", "1999999999", "1991111991", "1992222991", "1991111991", "1992222991", "1991111991", "1111111111" }

    20

    Returns: {"....*11991", "...*999991", "..*1111991", "..**999999", "..*.*11991", "..*..**991", "..*....*91", "..*....*9*", "..*....**.", ".........." }


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: