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
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
{"11111111"}
4
Returns: {"....*111" }
{"123456789"}
5
Returns: {"..*456789" }
{"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"}
{"7"}
7
Returns: {"." }
{"74"}
1
Returns: {"*4" }
{"145"}
6
Returns: {"..*" }
{"3172"}
1
Returns: {"*172" }
{"55444"}
17
Returns: {"...*4" }
{"1", "1"}
2
Returns: {".", "." }
{"11", "11"}
1
Returns: {".*", "*1" }
{"246", "653"}
15
Returns: {"...", "..." }
{"1236", "5151"}
18
Returns: {"....", "...." }
{"41414", "42324"}
9
Returns: {"...*4", "..*24" }
{"4", "1", "2"}
4
Returns: {".", "*", "2" }
{"11", "11", "11"}
2
Returns: {"..", ".*", "*1" }
{"111", "455", "485"}
11
Returns: {"...", "...", ".**" }
{"5513", "3974", "2461"}
19
Returns: {"....", "....", "..*." }
{"56654", "74565", "26233"}
24
Returns: {"....*", "...*5", "...*3" }
{"1", "1", "1", "1"}
1
Returns: {".", "*", "1", "1" }
{"42", "13", "22", "44"}
7
Returns: {"..", ".*", ".*", "*4" }
{"244", "143", "442", "332"}
0
Returns: {"*44", "143", "442", "332" }
{"1212", "1221", "2122", "2122"}
4
Returns: {"...*", "..*1", ".*22", "*122" }
{"13955", "87729", "93964", "97541"}
16
Returns: {"...*5", "..*29", "*.*64", "9*541" }
{"6", "6", "5", "2", "4"}
17
Returns: {".", ".", ".", "*", "4" }
{"82", "37", "48", "45", "45"}
9
Returns: {".*", "*7", "48", "45", "45" }
{"131", "221", "214", "312", "423"}
4
Returns: {"..*", ".*1", "*14", "312", "423" }
{"3323", "2143", "4313", "1212", "1324"}
6
Returns: {"..*3", "..*3", "**13", "1212", "1324" }
{"21222", "11122", "12111", "22211", "11122"}
13
Returns: {".....", ".....", ".....", ".....", "....." }
{"3", "3", "2", "3", "2", "3", "1", "2"}
3
Returns: {".", "*", "2", "3", "2", "3", "1", "2" }
{"1222111", "1122121", "1121211", "2221111", "1112212", "2122121", "2111222"}
0
Returns: {"*222111", "1122121", "1121211", "2221111", "1112212", "2122121", "2111222" }
{"62356336", "26265413", "65543131", "13652264", "65251441", "46541353", "15541112", "45554462", "24546434", "45331232"}
36
Returns: {"........", "........", "........", "........", "........", "......**", "........", "..**..*.", "..*4**3*", ".*331232" }
{"22211", "22112"}
3
Returns: {".*211", "*2112" }
{"1111111111", "1111111111", "1111111111", "1111111111", "1111111111"}
7
Returns: {".......*11", "......*111", ".....*1111", "....*11111", "...*111111" }
{"312441", "421113", "332413", "423133", "142223", "123324"}
19
Returns: {"......", "......", "......", "......", "......", ".....*" }
{"21121", "12113", "13213", "32313", "21333", "22312", "11111", "13232"}
2
Returns: {".*121", "*2113", "13213", "32313", "21333", "22312", "11111", "13232" }
{"78", "28", "92", "98"}
10
Returns: {".*", ".*", "*2", "98" }
{"33122222", "12431422", "22221114"}
3
Returns: {".*122222", "*2431422", "22221114" }
{"222212221", "222121222"}
15
Returns: {"........*", ".......*2" }
{"951", "599"}
23
Returns: {"...", "..*" }
{"4742252", "2913247", "3864466", "6238512"}
16
Returns: {"...*252", "...*247", ".**4466", ".*38512" }
{"111221"}
4
Returns: {"...*21" }
{"8778278", "2854462", "8417614", "7564887", "2571112", "4457638", "4645171", "8424558", "8247747", "1212215"}
16
Returns: {"..*8278", ".*54462", "*417614", "7564887", "2571112", "4457638", "4645171", "8424558", "8247747", "1212215" }
{"626", "615", "896", "496", "734", "199", "178"}
22
Returns: {"...", "...", "...", "***", "734", "199", "178" }
{"4145959866", "2658878618"}
52
Returns: {".........*", ".........*" }
{"121", "122", "332"}
4
Returns: {"...", "..*", "**2" }
{"78", "84", "75"}
0
Returns: {"*8", "84", "75" }
{"11111", "11111", "11111"}
6
Returns: {".....", ".....", "....*" }
{"2111", "2122", "1121", "1111", "1121", "2211", "2111", "2212", "1122", "1111"}
1
Returns: {"*111", "2122", "1121", "1111", "1121", "2211", "2111", "2212", "1122", "1111" }
{"9112699", "7711235", "4165378", "1486134"}
15
Returns: {"....*99", "**...*5", "41***78", "1486134" }
{"26254", "75242"}
17
Returns: {"....*", "....*" }
{"7418316646", "5527665515", "9879887589", "5494819348", "7752619697", "1668881697", "5566636529", "9544952245"}
84
Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........." }
{"11", "11", "11", "11", "11", "11", "11", "11", "11"}
0
Returns: {"*1", "11", "11", "11", "11", "11", "11", "11", "11" }
{"853828", "141316", "428377", "313234", "357226", "617624", "622362", "143385", "485865"}
46
Returns: {"......", "......", "......", "......", "......", "......", "......", "......", "......" }
{"111", "111", "111", "111", "111", "111", "111"}
9
Returns: {"...", "...", "...", "...", "...", "...", "..." }
{"1111111", "1111111", "1111111", "1111111", "1111111", "1111111", "1111111", "1111111"}
8
Returns: {".......", ".......", "......*", ".....*1", "....*11", "...*111", "..*1111", ".*11111" }
{"111211222", "112221121", "121112122", "121221211", "112211122", "211112221", "111111211"}
0
Returns: {"*11211222", "112221121", "121112122", "121221211", "112211122", "211112221", "111111211" }
{"75285", "64315", "73475", "48776", "36266"}
31
Returns: {".....", ".....", ".....", "...**", ".*.*6" }
{"12222", "12121", "22212"}
5
Returns: {"...*2", "...*1", ".**12" }
{"13194216", "85454579", "69182567", "41627599", "17533145", "12457377", "17527339", "62143748"}
13
Returns: {"...*4216", "...*4579", "**.*2567", "41*27599", "17533145", "12457377", "17527339", "62143748" }
{"714634743", "517644745", "163242612"}
41
Returns: {".........", ".........", "........." }
{"2231", "2412", "4344", "4211", "4142", "3221", "2432", "4334", "3331"}
23
Returns: {"....", "....", "....", "....", "....", "....", "....", "*.*.", "3*3*" }
{"6173235351"}
6
Returns: {".*73235351" }
{"722924", "226331", "882886", "393274", "675572", "938491"}
29
Returns: {"......", "......", "....**", "....*4", ".*..*2", "*3**91" }
{"2243", "2524", "6636", "2142", "4262", "2615", "2662", "6542", "1254"}
9
Returns: {"...*", "..*4", "**36", "2142", "4262", "2615", "2662", "6542", "1254" }
{"1111", "1111", "1111", "1111", "1111", "1111", "1111", "1111"}
8
Returns: {"....", "....", "....", "....", "....", "...*", "..*1", ".*11" }
{"3124", "4311"}
13
Returns: {"....", "...." }
{"65337", "72162", "67614", "37214"}
6
Returns: {".*337", "*2162", "67614", "37214" }
{"228231542"}
37
Returns: {"........." }
{"588849", "376196", "585287", "293869", "298219"}
33
Returns: {".....*", ".....*", ".....*", "....*9", "..**19" }
{"66131551"}
8
Returns: {".*131551" }
{"13343424", "31333351", "31531151", "12145552"}
18
Returns: {"......*4", "......*1", "......*1", ".....*52" }
{"2211211"}
3
Returns: {".*11211" }
{"46633", "66355", "15462", "43412", "36441", "24312", "12351", "51355"}
34
Returns: {".....", ".....", ".....", ".....", ".....", ".....", ".....", "....." }
{"111111", "111111", "111111", "111111", "111111", "111111"}
2
Returns: {"..*111", ".*1111", "*11111", "111111", "111111", "111111" }
{"7274193189", "2737277778"}
36
Returns: {"........*9", "......**78" }
{"23352157", "31246321", "52461164", "72452237", "54457113", "12275116"}
23
Returns: {".......*", "........", "......**", "......*7", "....*.*3", "...*5*16" }
{"341546747"}
30
Returns: {".......*7" }
{"212311313", "333312131", "132323312"}
13
Returns: {".......*3", ".......*1", ".....**12" }
{"4466835389", "7674586765", "9437757717", "6727641921", "4719154697", "1242459984", "4438867169", "6947534445", "8964767994", "2687383419"}
78
Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........." }
{"2287718998", "7926732983", "6875193782", "1227946417", "9282337158", "8959373726", "4593567332", "8152796366", "5319289668", "6546748946"}
64
Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "......*.**", "......**46" }
{"5582295211", "7788357368", "2769841627", "2886157624", "6974258562", "9189136769", "2218154652", "9796843822", "6828184654", "4976151438"}
64
Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", "..........", "........**", ".........*" }
{"5811699712", "2648222658", "2179354772", "2874977592", "3515819932", "9977464252", "7969479517", "2317637874", "8354959849", "2895913168"}
62
Returns: {"..........", "..........", "..........", "..........", "..........", "..........", "..........", ".........*", "......***9", "........*8" }
{"5417278228", "9419637326", "4741789531", "1895483866", "4378712348", "4522994468", "8222938121", "2881755641", "8834731226", "2449989667"}
7
Returns: {".*17278228", "*419637326", "4741789531", "1895483866", "4378712348", "4522994468", "8222938121", "2881755641", "8834731226", "2449989667" }
{"1991111991", "1999999991", "1991111991", "1999999999", "1991111991", "1992222991", "1991111991", "1992222991", "1991111991", "1111111111" }
20
Returns: {"....*11991", "...*999991", "..*1111991", "..**999999", "..*.*11991", "..*..**991", "..*....*91", "..*....*9*", "..*....**.", ".........." }