Statistics

Problem Statement for "InfiniteLab"

Problem Statement

There is an infinite labyrinth somewhere on Earth. It has an infinite number of rows, a fixed number W of columns and consists of 1x1 cells. Each cell can be in one of three states: free cell with a teleport, free cell without a teleport and blocked cell. It is known that each row in the labyrinth contains either 0 or 2 cells with teleports.

The rows and columns of the labyrinth are numbered using integers. The rows are infinite in both directions, so for every integer i (including negative integers) there's a row numbered i. The columns are numbered 0 to W-1, inclusive. A cell in row i and column j is denoted as (i,j).

If you are located in a free cell (i,j), you can perform one of the following actions:
  • Walk to another free cell (x,y) adjacent by side to (i,j). In other words, (x,y) must be such that |i-x| + |j-y| = 1. It is impossible to walk outside of the labyrinth.
  • If cell (i,j) contains a teleport, you can use it to be transferred to another free cell from the same row that contains a teleport (there's always exactly one such cell). Note that when you are located in a cell with a teleport, it isn't necessary to use the teleport.
Each of the described two actions, that is, walking to an adjacent cell and using a teleport, counts as one move.

You are given a String[] map containing H rows, with each element consisting of W characters. The character j in element i of map represents the state of cell (i,j), where '#' means a blocked cell, '.' means a free cell and 'T' means a free cell with a teleport. Both indices i and j are 0-based, so map describes the states of all cells in rows 0 to H-1, inclusive. For all other cells the following rule applies: the state of cell (i,j) is exactly the same as the state of cell (x,j) if |i-x| is divisible by H. In other words, the given pattern of H rows is repeated an infinite number of times.

Return the minimum number of moves needed to get from cell (r1,c1) to cell (r2,c2). If it is impossible, return -1.

Definition

Class:
InfiniteLab
Method:
getDistance
Parameters:
String[], long, int, long, int
Returns:
long
Method signature:
long getDistance(String[] map, long r1, int c1, long r2, int c2)
(be sure your method is public)

Notes

  • The start and finish cells (r1,c1) and (r2,c2) are guaranteed to be distinct free cells.

Constraints

  • map will contain between 1 and 20 elements, inclusive.
  • Each element of map will contain between 1 and 20 characters, inclusive.
  • All elements of map will contain the same number of characters.
  • Each character in map will be either '#', '.' or 'T'.
  • Each element of map will contain either 0 or 2 'T' characters.
  • r1 and r2 will each be between -10^15 and 10^15, inclusive.
  • c1 and c2 will each be between 0 and W-1, inclusive, where W is the number of characters in each element of map.
  • Cells (r1,c1) and (r2,c2) will both be free cells.
  • Cells (r1,c1) and (r2,c2) will be distinct.

Examples

  1. {"#...##", ".##...", "..#.##", "#.#.##"}

    1

    0

    5

    3

    Returns: 7

    The optimal path is drawn below. Here 'S' means the start cell, 'F' means the finish cell and 'P' means an intermediate cell. #...## S##... PP#.## #P#.## #PPP## .##F.. ..#.## #.#.## Note that the labyrinth is infinite, so only its part with rows 0 to 7, inclusive, is shown here and in subsequent examples.

  2. {"##.#.", ".#T#T", "...#.", "##.#."}

    7

    4

    1

    0

    Returns: 9

    ##.#. F#T#T PPP#. ##P#. ##P#. .#T#T ...#P ##.#S Here we need to use a teleport once.

  3. {"..######.#", ".###T###.T", "..T#.##T##", ".######..#"}

    1

    0

    6

    4

    Returns: 11

    ..######.# S###T###.T PPT#.##T## .######PP# ..######P# .###T###PT ..T#F##T## .######..# Here we need to use a teleport twice.

  4. {"..#..", ".#.#.", "....."}

    -29

    2

    19

    2

    Returns: 54

  5. {".#.#.", "..#..", ".....", ".....", "..#.."}

    -999

    3

    100

    2

    Returns: -1

  6. {"#.#.#.#.##","#.#.#.#...","#.#.#..##.","#.#..#..#.","#..#..#.#.","#...#.#.#.","#.#.#.#.#.","#.#.#.#.#.","#.#.#.#.#.","#.#.#.#.#."}

    999999999999999

    1

    9

    9

    Returns: 1000000000000066

  7. {"#.#.#.#.##","#.#.#.#...","#.#.#..##.","#.#..#..#.","#..#..#.#.","#...#.#.#.","#.#.#.#.#.","#.#.#.#.#.","#.#.#.#.#.","#.#.#.#.#."}

    4999

    1

    9

    9

    Returns: 5066

  8. {"..#.#.#.##","#.#.#.#...","..#.#..##.",".##..#..#.","...#..#.#.","#...#.#.#.","..#.#.#.#.",".##.#.#.#.","..#.#.#.#.","#.#.#.#.#."}

    999999999999999

    1

    9

    9

    Returns: 1400000000000076

  9. {"....................", "###################.", "....................", ".###################"}

    -999999999999997

    0

    999999999999998

    19

    Returns: 20999999999999938

  10. {"##.#########.####.#", "##.#########......#", "##.##############.#", "##.##############.#", "##..............#.#", "###############.#.#", "##..............#.#", "##.##############.#", "##..............#.#", "###############.#.#", "##..............#.#", "##.##############.#", "##..............#.#", "###############.#.#", "######..........#.#", "######.##########.#", "##................#", "##.###.##########.#", "##.###.......####.#", "##.#########.####.#"}

    1

    2

    18

    10

    Returns: 55

  11. {"##.#########.####.#", "##.#########......#", "##.##############.#", "##.##############.#", "##..............#.#", "###############.#.#", "##..............#.#", "##.##############.#", "##..............#.#", "###############.#.#", "##..............#.#", "##.##############.#", "##..............#.#", "###############.#.#", "######..........#.#", "######.##########.#", "##................#", "##.###.##########.#", "##.###.......####.#", "##.#########.####.#"}

    401

    2

    100000018

    10

    Returns: 99999655

  12. {".###.#.##.#.#.##.#.#", ".T##.#.##.#.#.T#.#.#", ".###.#.##...#.##...#", "...#.#.##.#.#.##.###", "##.#.#.##.#.#.##.#.#", "T#.#.#T##.#.#.##.#.#", ".#.#.####.#.#.####.#", ".#.#.######.#.####.#", ".#.#...##...#.####.#", ".#.###.##.###.####.#", ".#.#.#.##.#...##...#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.######.#", ".#...#T##.#.###T##.#", ".###.#.##.#.###..#.#", ".###.#.##.#.####.#.#", ".###.#.##.#.####.#.#"}

    15

    9

    7

    18

    Returns: 99

  13. {".###.#.##.#.#.##.#.#", ".T##.#.##.#.#.T#.#.#", ".###.#.##...#.##...#", "...#.#.##.#.#.##.###", "##.#.#.##.#.#.##.#.#", "T#.#.#T##.#.#.##.#.#", ".#.#.####.#.#.####.#", ".#.#.######.#.####.#", ".#.#...##...#.####.#", ".#.###.##.###.####.#", ".#.#.#.##.#...##...#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.######.#", ".#...#T##.#.###T##.#", ".###.#.##.#.###..#.#", ".###.#.##.#.####.#.#", ".###.#.##.#.####.#.#"}

    33

    9

    7

    18

    Returns: 100

  14. {".###.#.##.#.#.##.#.#", ".T##.#.##.#.#.T#.#.#", ".###.#.##...#.##...#", "...#.#.##.#.#.##.###", "##.#.#.##.#.#.##.#.#", "T#.#.#T##.#.#.##.#.#", ".#.#.####.#.#.####.#", ".#.#.######.#.####.#", ".#.#...##...#.####.#", ".#.###.##.###.####.#", ".#.#.#.##.#...##...#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.######.#", ".#...#T##.#.###T##.#", ".###.#.##.#.###..#.#", ".###.#.##.#.####.#.#", ".###.#.##.#.####.#.#"}

    15

    9

    25

    18

    Returns: 91

  15. {".###.#.##.#.#.##.#.#", ".T##.#.##.#.#.T#.#.#", ".###.#.##...#.##...#", "...#.#.##.#.#.##.###", "##.#.#.##.#.#.##.#.#", "T#.#.#T##.#.#.##.#.#", ".#.#.####.#.#.####.#", ".#.#.######.#.####.#", ".#.#...##...#.####.#", ".#.###.##.###.####.#", ".#.#.#.##.#...##...#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.######.#", ".#...#T##.#.###T##.#", ".###.#.##.#.###..#.#", ".###.#.##.#.####.#.#", ".###.#.##.#.####.#.#"}

    18015

    9

    7

    18

    Returns: 20360

  16. {".###.#.##.#.#.##.#.#", ".T##.#.##.#.#.T#.#.#", ".###.#.##...#.##...#", "...#.#.##.#.#.##.###", "##.#.#.##.#.#.##.#.#", "T#.#.#T##.#.#.##.#.#", ".#.#.####.#.#.####.#", ".#.#.######.#.####.#", ".#.#...##...#.####.#", ".#.###.##.###.####.#", ".#.#.#.##.#...##...#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.######.#", ".#...#T##.#.###T##.#", ".###.#.##.#.###..#.#", ".###.#.##.#.####.#.#", ".###.#.##.#.####.#.#"}

    15

    9

    36007

    18

    Returns: 40739

  17. {".###.#.##.#.#.##.#.#", ".T##.#.##.#.#.T#.#.#", ".###.#.##...#.##...#", "...#.#.##.#.#.##.###", "##.#.#.##.#.#.##.#.#", "T#.#.#T##.#.#.##.#.#", ".#.#.####.#.#.####.#", ".#.#.######.#.####.#", ".#.#...##...#.####.#", ".#.###.##.###.####.#", ".#.#.#.##.#...##...#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.####.#.#", ".#.#.#.##.#.######.#", ".#...#T##.#.###T##.#", ".###.#.##.#.###..#.#", ".###.#.##.#.####.#.#", ".###.#.##.#.####.#.#"}

    -179999999985

    9

    18000000000007

    18

    Returns: 20536666666739

  18. {"#..T##T..#"}

    0

    1

    10000

    8

    Returns: 10005

  19. {".###.#####.#...###.", ".T#T.###...#.###...", ".###.###.###...#.##", "...#.###.#####.#...", "##.#.T#T.###...###.", "...#.###.###.###...", ".###...#.###.#...##", "...###.#.T#T.#.####", "##.#...#.###.#.....", "...#.###...#.#####.", ".###...###.#.T#T...", "...###.#...#.###.##", "##.#...#.###...#.##", "...#.###...###.#.##", ".###...###.#...#.##", ".T####.#...#.###.T#", ".###...#.###...#.##", ".###.###...###.#..."}

    3

    0

    9

    18

    Returns: 26

  20. {".###.#####.#...###.", ".T#T.###...#.###...", ".###.###.###...#.##", "...#.###.#####.#...", "##.#.T#T.###...###.", "...#.###.###.###...", ".###...#.###.#...##", "...###.#.T#T.#.####", "##.#...#.###.#.....", "...#.###...#.#####.", ".###...###.#.T#T...", "...###.#...#.###.##", "##.#...#.###...#.##", "...#.###...###.#.##", ".###...###.#...#.##", ".T####.#...#.###.T#", ".###...#.###...#.##", ".###.###...###.#..."}

    -90000000000000

    0

    90000000000000

    0

    Returns: 300000000000000

  21. {".###.#####.#...###.", ".T#T.###...#.###...", ".###.###.###...#.##", "...#.###.#####.#...", "##.#.T#T.###...###.", "...#.###.###.###...", ".###...#.###.#...##", "...###.#.T#T.#.####", "##.#...#.###.#.....", "...#.###...#.#####.", ".###...###.#.T#T...", "...###.#...#.###.##", "##.#...#.###...#.##", "...#.###...###.#.##", ".###...###.#...#.##", ".T####.#...#.###.T#", ".###...#.###...#.##", ".###.###...###.#..."}

    9

    2

    0

    18

    Returns: 26

  22. {".###.#####.#...###.", ".T#T.###...#.###...", ".###.###.###...#.##", "...#.###.#####.#...", "##.#.T#T.###...###.", "...#.###.###.###...", ".###...#.###.#...##", "...###.#.T#T.#.####", "##.#...#.###.#.....", "...#.###...#.#####.", ".###...###.#.T#T...", "...###.#...#.###.##", "##.#...#.###...#.##", "...#.###...###.#.##", ".###...###.#...#.##", ".T####.#...#.###.T#", ".###...#.###...#.##", ".###.###...###.#..."}

    10

    0

    0

    18

    Returns: 29

  23. {".#.#.#.#.#.#.#.#.#", "...#.#.#.#.#.#.#.#", ".###.#.#.#.#.#.#.#", ".#...#.#.#.#.#...#", ".#.###.#.#.#.#####", ".#.#...#.#.#.##...", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#.#...#", ".#.#.###.#.#.#T#T#", ".#.#.#...#.#.#.###", ".#.#.#.###.#.#T#T#", ".#.#.#.#...#.#T##T", ".#.#.#.#.###.###..", ".#.#.#.#.#...#...#", ".#.#.#.#.#.####T#T", ".#.#.#.#.#.#.#T##T", ".#.#.#.#.#.#.#T#T#", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#...#.#", ".#.#.#.#.#.#.#.#.#"}

    5

    16

    5

    0

    Returns: 265

  24. {".#.#.#.#.#.#.#.#.#", "...#.#.#.#.#.#.#.#", ".###.#.#.#.#.#.#.#", ".#...#.#.#.#.#...#", ".#.###.#.#.#.#####", ".#.#...#.#.#.##...", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#.#...#", ".#.#.###.#.#.#T#T#", ".#.#.#...#.#.#.###", ".#.#.#.###.#.#T#T#", ".#.#.#.#...#.#T##T", ".#.#.#.#.###.###..", ".#.#.#.#.#...#...#", ".#.#.#.#.#.####T#T", ".#.#.#.#.#.#.#T##T", ".#.#.#.#.#.#.#T#T#", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#...#.#", ".#.#.#.#.#.#.#.#.#"}

    10

    0

    999999999999905

    16

    Returns: 1000000000000160

  25. {".#.#.#.#.#.#.#.#.#", "...#.#.#.#.#.#.#.#", ".###.#.#.#.#.#.#.#", ".#...#.#.#.#.#...#", ".#.###.#.#.#.#####", ".#.#...#.#.#.##...", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#.#...#", ".#.#.###.#.#.#T#T#", ".#.#.#...#.#.#.###", ".#.#.#.###.#.#T#T#", ".#.#.#.#...#.#T##T", ".#.#.#.#.###.###..", ".#.#.#.#.#...#...#", ".#.#.#.#.#.####T#T", ".#.#.#.#.#.#.#T##T", ".#.#.#.#.#.#.#T#T#", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#...#.#", ".#.#.#.#.#.#.#.#.#"}

    -100000000000000

    0

    10000000000005

    17

    Returns: 110000000000271

  26. {".#.#.#.#.#.#.#.#.#", "...#.#.#.#.#.#.#.#", ".###.#.#.#.#.#.#.#", ".#...#.#.#.#.#...#", ".#.###.#.#.#.#####", ".#.#...#.#.#.##...", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#.#...#", ".#.#.###.#.#.#T#T#", ".#.#.#...#.#.#.###", ".#.#.#.###.#.#T#T#", ".#.#.#.#...#.#T##T", ".#.#.#.#.###.###..", ".#.#.#.#.#...#...#", ".#.#.#.#.#.####T#T", ".#.#.#.#.#.#.#T##T", ".#.#.#.#.#.#.#T#T#", ".#.#.#.#.#.#.###.#", ".#.#.#.#.#.#...#.#", ".#.#.#.#.#.#.#.#.#"}

    19

    0

    1000000000000000

    16

    Returns: 1000000000000209

  27. {"T###.###.###.###T###","...#...#...#...#...#",".#.###.###.###.###.#","...#...#...#...#...#","T###T###.###.###.###","...#...#...#...#...#","##.#.#.###.###.###.#","...#...#...#...#...#",".###T###T###.###.###","...#...#...#...#...#","##.###.#.#.###.###.#","...#...#...#...#...#",".###.###T###T###.###","...#...#...#...#...#","##.###.###.#.#.###.#","...#...#...#...#...#",".###.###.###T###T###","...#...#...#...#...#","##.###.###.###.#.#.#","...#...#...#...#...#"}

    -1000000000000000

    0

    1000000000000000

    0

    Returns: 2500000000000000

  28. {"T###.###.###.###T###","...#...#...#...#...#",".#.###.###.###.###.#","...#...#...#...#...#","T###T###.###.###.###","...#...#...#...#...#","##.#.#.###.###.###.#","...#...#...#...#...#",".###T###T###.###.###","...#...#...#...#...#","##.###.#.#.###.###.#","...#...#...#...#...#",".###.###T###T###.###","...#...#...#...#...#","##.###.###.#.#.###.#","...#...#...#...#...#",".###.###.###T###T###","...#...#...#...#...#","##.###.###.###.#.#.#","...#...#...#...#...#"}

    -1000000000000000

    0

    1000000000000000

    8

    Returns: 2500000000000005

  29. {"T###.###.###.###T###","...#...#...#...#...#",".#.###.###.###.###.#","...#...#...#...#...#","T###T###.###.###.###","...#...#...#...#...#","##.#.#.###.###.###.#","...#...#...#...#...#",".###T###T###.###.###","...#...#...#...#...#","##.###.#.#.###.###.#","...#...#...#...#...#",".###.###T###T###.###","...#...#...#...#...#","##.###.###.#.#.###.#","...#...#...#...#...#",".###.###.###T###T###","...#...#...#...#...#","##.###.###.###.#.#.#","...#...#...#...#...#"}

    -1000000000000000

    0

    1000000000000000

    4

    Returns: 2500000000000008

  30. {"....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","...................."}

    -1000000000000000

    0

    1000000000000000

    19

    Returns: 2000000000000019

  31. {"....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","...................."}

    -1000000000000000

    0

    -1000000000000000

    19

    Returns: 19

  32. {"....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","....................","...................."}

    1000000000000000

    0

    1000000000000000

    19

    Returns: 19

  33. {"TT.", "...", "T.T"}

    2

    0

    -26

    1

    Returns: 29

  34. {".#..", "....", ".###", "T..T"}

    1

    3

    35

    0

    Returns: 37

  35. {"..###", ".....", "TT###", "TT###", "....."}

    2

    0

    -16

    4

    Returns: 22

  36. {"...T.T.............."}

    13397834057

    19

    68196735724

    6

    Returns: 54798901680

  37. {".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}

    325022564820

    0

    1684482383057

    0

    Returns: 1359459818237

  38. {".....##.......T.T...", "...................."}

    6095110755

    14

    48357678000

    4

    Returns: 42262567255

  39. {"..", "TT", "..", "..", "..", "..", "TT", "TT", "..", "..", "..", "TT", "TT", "..", "..", "..", "..", "TT", "..", ".."}

    5

    1

    -969360340698

    0

    Returns: 969360340704

  40. {"....................", "#######.....T.T....#", "............#.#.##.."}

    2

    11

    2

    0

    Returns: 11

  41. {"...", ".##", ".##", ".#.", ".#.", ".#.", "T#T", ".#.", "T.T", "T#T", "T#T", "...", "T#T", ".##", "...", ".##", ".##", "...", ".##", ".##"}

    -359956144098

    0

    -1792904998765

    0

    Returns: 1432948854667

  42. {"..#.#", "T.#T#", "TT..#", "..#..", "..#.#"}

    -657

    0

    3

    4

    Returns: 662

  43. {".....", "...#.", "#TT##", "##.##", ".T.T."}

    65709214710

    2

    517926539320

    1

    Returns: 452217324611

  44. {"....#..#..", "..#T#.T...", "..#T#T##.#", "#...####.#", "#.#T..T#.#"}

    -1563

    1

    -1977

    2

    Returns: 415

  45. {".T..#T....", "#.###.T.#T", "T...#T....", "#.###..##.", ".TT.#...#."}

    -193474666857

    9

    2

    0

    Returns: 193474666862

  46. {"#.......#......", "...#.#.##T###T.", "######.#TT....#", "####T......T.##", "####.#....#.#.#"}

    -566

    7

    -3537

    5

    Returns: 2973

  47. {"T.######T#.##..", "T.######.#.##T.", ".T...........T.", ".......T.T..#..", "..............."}

    3

    0

    -614868865523

    10

    Returns: 614868865529

  48. {".###..######...#....", ".###..###..........#", ".####...T.T....#...#", ".####T#......T......", ".###..###T.....#T#.."}

    -3209

    10

    0

    17

    Returns: 3212

  49. {"....................", "#..#.##.#..#.####.#.", "#.T#.##.#..#.####.#T", "...............#....", ".....T.....#T####..."}

    3198513895626

    1

    3

    19

    Returns: 3198513895625

  50. {"T..T.", ".##TT", "T.#.T", ".T.T.", ".....", ".....", ".T.T.", "T...T", ".T..T", "T.#T#"}

    -2502

    2

    4953

    0

    Returns: 7457

  51. {"T.##T", "TT##.", ".TT##", "..###", "#.###", "T...T", "#####", "T##T#", ".....", "..##."}

    -3951849850155

    3

    -818949783632

    4

    Returns: -1

  52. {"...T...T..", "..T......T", ".###.##..#", "####.##.TT", "##.#.##T.T", "##.#####..", ".......##.", ".......##.", "....T..##T", ".###.###.#"}

    0

    0

    6

    2

    Returns: 18

  53. {"#####.####", ".T....###T", "#####.####", "##.T..T...", "####.T..T.", "##.##.##..", "##.#####..", "#.........", "#.....##..", "##.##.###."}

    66505458211

    9

    8733409761727

    5

    Returns: 12133666024929

  54. {"#...###...###.#", "T..T##.........", "T...T.....##...", "#....##..####.#", "#..T........#T#", "#..#.####T...T.", "...........#...", "#....###..###.#", "##..###..T###T#", "#.TT###...#####"}

    14955

    2

    4

    10

    Returns: 14957

  55. {"#............#.", "##.##..T.T..##.", "....#..##......", "####...##....#.", "...#.T.###.T...", "##............#", "##T#.T.####.###", "##.##.....#.###", "##.##.....#.###", "..............."}

    -2463873100131

    6

    10742216183405

    13

    Returns: 13206089283540

  56. {"##...T..T...#...###.", "##.T##.#.##.##T.###.", ".......#.##.##.####.", ".........##.#..####.", "##...#.#.........##.", "##...#.#....T..####T", "##....T..##.#..####T", "#...........#..####.", "###..###.##.#...###.", "###..###.##.#T..###T"}

    -15023

    9

    6161

    14

    Returns: 21189

  57. {"..##.T...........##T", "..##..##...###.#.##.", "..##..##...###.#.##.", ".##.................", ".###..##T.T###.#.##.", ".###..##T#####T#.###", "......##.#.....#.###", ".###..#..........##.", "..##......####.####.", "..##..##.#####T####T"}

    1

    9

    -13113259560557

    0

    Returns: 13113259560567

  58. {".....", ".###.", "T###T", "...#.", ".###.", "####.", "#.##.", ".....", ".....", "TT##.", "TT##.", "TT#..", "TT#..", "T.#.T", "T.#T."}

    7

    4

    2

    4

    Returns: 5

  59. {"T##T#", ".....", "###.#", "###.#", "##..#", "###.#", "#T#T#", ".T#.T", "#.###", ".....", "#T#T#", "#T#T#", "#T#T#", ".T#T#", "...TT"}

    12

    3

    -7344624012695

    3

    Returns: 8323907214401

  60. {"TT....###.", "#.#...####", "#T#.T#####", "...T..T...", "#.#..#####", "T.T..####.", ".T....T...", "...T.T....", "###T.T####", "#.......##", "T...T.....", "..........", "#.#T.T####", "......##..", "#T#T..####"}

    1093

    1

    6

    5

    Returns: 1090

  61. {"...#.#.#.#", "T.T#.#.#..", "..T#....T.", ".........#", "#.T..T.###", "T.T###.###", "...###.###", ".#.##.....", "...###....", ".#T###T###", ".#.#######", ".T..T.####", "T#.#T#####", "...#.###.#", ".........."}

    4689169436627

    4

    8

    7

    Returns: 4689169436623

  62. {"..T####.T##.#.#", "...####..#.....", "...#####.......", "#.T.####T...#.#", "#...####......#", "....####.......", "#.TT.........#.", "....##.........", "T......#......T", "#.T.##.....T...", ".#TT##.####..#.", ".#.............", "...###......#.#", "...###..T##.#T#", ".T..T....##.#.#"}

    12

    1

    30877

    8

    Returns: 30867

  63. {".......#.####..", "...T######.T...", "......#########", "..#######.#####", ".......##.T.T..", ".#T#.##.#T#####", ".#.#.........##", "...#..#.#.#....", "...#T.#.#T###.#", "......#...##...", "......#.......#", "....#.#..####.#", ".T....T..####..", "#.#.#.##.####.#", "T......T.####.."}

    -30412910822633

    0

    -23680350280553

    9

    Returns: 7630235281025

  64. {"...T.T....#####.#...", "#.#...T.........#..T", "T.....T..#.####.#...", "#.##.....#.####.#...", "####.#...#.####.....", ".........#.####.....", "####.##.T..#####.T#.", "###.T#.......T....##", "#.#..##.#TT#####..##", "#.#...#.#..#####..##", "#T#..T.##..#####..##", "#.#.T.......###.T.##", "#............##...##", "#.#.......#####.#.##", "#.#.#.....#####.#..."}

    6

    10

    -20920

    17

    Returns: 20929

  65. {".T.....T........#...", "#T...##..T........##", "#....##.....###.#..#", "#...........###.#..#", ".......TT...........", "#.T#.......T....##.#", "....T....T..###.....", "##.#.##.....###.##.#", "...............#....", "....................", "####.##.#T..#####.T#", "#.#..##.....#####..#", ".....##.........T..T", "............##......", "#.#..##...#.###.#..#"}

    10

    9

    20476572802062

    2

    Returns: 20476572802055

  66. {"...##", "...##", "T.T##", "T.T.#", ".TT..", "T.T..", "....#", "....#", "....#", "#...#", "#TT.#", ".....", "#...#", "T...T", "TT.##", ".....", "T.T##", ".....", "T.T##", "...TT"}

    15

    4

    5411

    1

    Returns: 5399

  67. {".####", "T...T", "...##", ".#.##", ".#..#", ".#..#", ".####", ".####", "..#..", ".####", ".....", "T...T", ".####", ".....", ".####", ".####", ".....", "....#", ".####", ".TT.."}

    17678573154041

    1

    -12183533145221

    3

    Returns: 29862106299266

  68. {"##.##TT..#", "..T......T", "##.##....#", "T..T......", "....T...T.", "..........", "....TT....", "T.....T...", "##.......#", "#####..#.#", "#####T.#T#", "#####....#", "##.##T..T#", "##.##....#", "##.##....#", "..........", "##.##....#", "##.##T..T#", "##.##.#..#", "##T##...T#"}

    -10741

    2

    7

    1

    Returns: 10751

  69. {"##T####T##", "##TT###.##", "##..###.##", "##TT##..##", ".T...T....", "..........", "###T##T...", "#.T.T.....", "###.......", "###.##.#..", "##TT#..#..", "...T...T..", "..........", "##.##T##T.", "##.##.##..", "..........", "##T##.##T#", "##.#######", "##########", "..T#####T."}

    8

    5

    11

    5

    Returns: 5

  70. {"..T.T..#.###...", "#.##T###T######", "T......T.##....", "T...T.#........", "###..##..####.#", "###..##..####.#", "###..##..####.#", "....T##...T....", "T.........T....", ".T...T.........", "#.#..##..####.#", ".T......T..##.#", "..#.####.######", "....###........", "..........#####", ".T.#####T######", "...#####.......", "...####........", "...............", "#..###......###"}

    -48512

    3

    42844

    7

    Returns: 91360

  71. {"##.T.....#.T#..", "######.###..#..", "######T###..#T.", "#...........##.", "....#..........", "#T#T###.#.#..#.", "...........TT#.", "#.#.###.#.#..#.", "#.#.###T#T##.#.", "..T.###....T...", "#T#.###.###T.#.", ".....T...T.....", "###.###T#.#T.#.", "##..###.#.#..#.", ".....##........", "...####....T..T", "##.####..T#.#.T", "##.#........#..", "##.......T..#T.", "##.###...#..#.."}

    -41090589858257

    14

    18

    10

    Returns: 41090589858277

  72. {"...#.#..#.T.....T..#", "..T..............T..", "...#.............###", "...#.........T..T###", ".#.####.............", "....##..............", ".#.####...###.#..###", "T#.####..T######.###", "##.####.TT######.###", "..........###.#..##.", "##.####...###.#.####", "....................", "...####...##........", "........#.###.......", "####.#..........####", "..##.#T#..T........#", "........#####...#...", "T..#.#.#..T......###", "...#.#.######...####", ".T.#........T...####"}

    2

    7

    25016

    7

    Returns: 27516

  73. {"###.##...T.......#T.", "###.#T..........##T.", "###.###......T.T...#", "###.T.........T###.#", "###.####.#T.....T..#", "##...........#####.#", "##..####.##.########", ".#..####...........#", ".#..####.##..#######", ".#..####.#..........", "T#.####..###T###.###", ".#.####...........##", ".#.###..T##..###.##T", ".#.###...##..###.##.", ".........##..###.#..", "T####...T......#.#..", ".#####...##.####.#..", "..........#.####.#..", "######...##.####.#..", "....##.#.#.........."}

    -75872218589797

    7

    -31161541614335

    18

    Returns: 44710676975465

  74. {".......T######.#..T.", "####.##T#####.T##.#.", "####.##.#####T.##.#T", "####T##.#####T.##.#.", ".T....#T####........", "####.##.#####.TT#.#.", "###..##.#####T..#T#.", "....T......##.T.....", "#.#T.##T#####...#.#.", "#.#.T##.#####..T#.#.", "#.#.T##.#####...#.#T", "#.T.............#T#.", "#T#..#########..#T#.", "#T#..#########..###T", "#.#.##########TT###.", "..T....T.#####......", "#T#.##########..###T", "#.#.###....T.....T..", "#.........T....T.##.", "###T###.######..#T#."}

    -15721051679798

    14

    -13906830010385

    15

    Returns: 1814221669414

  75. {"...######T.T####....", "##T#######.T####..#.", "##.########.T###T.#.", "#....###T.....##..T.", "#.....#####.T...T.#.", "##.########T.#..T..#", "###.####T...T#######", "..#.#####T....###T..", ".....T.....#.T......", ".##.###....###.T.T..", ".##.##...T.######T.#", ".##..#...T.T######.#", "......#T##..####.T..", "...T.##..##.#####..T", "##T......T...#######", "##.........T..#T####", "##T.#..#..##.##T####", ".#.##....T......###T", ".#T#..T.#..#.##.###.", "....T......####.T..."}

    14

    11

    7

    1

    Returns: 13

  76. {"##T#.#.####.##...T..", "##T###.#######T...#.", "T..#.#####..T######.", ".###T###.##.######.T", "####.###.##.T.T..###", "###T..#..T#.#..#####", "###.#.##T.#.#..###T#", "T##.#.##....#T.##...", ".##....##.T.T.#.....", ".T.##T###.......##.#", "....#.##T........#T.", ".##.####....T###T...", "T##.###..T...#######", ".##.##T#.###.####..T", "T#####T...##.....###", "######T#....T.#.###.", "##T###.#..#.###....T", "...#...T..#.###T##..", ".T......T##.#######.", "##.#.....##.##T...T."}

    -16063384044341

    18

    -10288009629146

    7

    Returns: 8374292902032

  77. {".T#####.###.#T###...", "#######.###T#T#####.", "..T..##T###.#.###.##", "T######.#####......T", ".#....T.####.....T.#", "..T.....##.##.####.T", "...T..#.##T#....##.#", "...T....T#.##......#", "..T.#T#.##.#.####...", "T...#T..##..........", "....#..###.#.##.#T.T", "#.T.#.T###.#.##.#..#", "##.T#..##T...##.####", ".......#..T..T....##", ".#####.#..T.###.T...", "######.#..TT###...##", "########..T....T..#.", ".#######....T###.T#.", ".######..T#..###.T#.", "...###.T...T.###..#."}

    215764966567

    2

    0

    11

    Returns: 269706208213

  78. {"....................", "##.###....TT......##", "....................", "##########.#########", ".#######............", "...T.....T.....#.##.", ".#############T#T###", "T#############.#T###", ".#############.#.###", ".#############.#.###", "....######.###......", "T#########.###.#T###", "T...T...............", ".#.###.T...T.......#", ".#.#######.###.#####", ".#.#######.###.#####", "...............#####", ".#T#######T###.#####", ".....#####.#...T...T", "T....#####T##......."}

    -4616173844444

    2

    11

    10

    Returns: 6001025997798

  79. {".T#####.#....#T##...", "........#....#.#....", ".#####...T...##..T..", "..........#..##.....", "###.....#.##.#......", ".T.##...####.#..T...", "###.....#.T..T#.##.#", ".####...##.#........", "..###T#.##..T##.##..", "##.####.##.........#", "##.#######....####.#", "T....#####T...####..", "##.########.#.####..", "##.####....T..####T.", "....####......#####.", "....#######.##....#.", "........###.##.####.", "..#.####.....#.####.", ".##..............##.", ".##T###.##...#.##.#T"}

    18917435425415

    15

    -3614413639445

    19

    Returns: 24785033971356

  80. {".......#####.......#", "..#.####............", "..#...#####.......#.", ".....##....T#.#...T.", ".....######....##.#.", "#.......#.T.....T...", "..##.###.#######.##.", "####..##...T.T##.##.", ".....T##.###..T#.##.", "..##..#...T.T.##....", "####.T.#T#.#.######.", "####..##...#.######.", "...#..##......T..T..", "......##..######....", ".....#.#..###.#####.", "##............######", "..###..#.........##.", "#..T....####T#######", ".#...T........###..T", "..#.#.#.####...#####"}

    12

    13

    5

    12

    Returns: 17

  81. {"######.#######...TT#", "T#####.##.T..##.....", ".T####..T..#.##.###.", "T.##T....#.#..#####.", "T.###.T..#.#..#####.", "T.###.#..#.##.####T.", "T.###.#.T####.#####.", "..#####T.....T.#....", ".....TT...........##", ".######.....T....T..", "########.###T.###T##", ".###.T.....#T.###.##", ".#T#########.T.##.#.", "...###T......###..T.", ".#.###..T..T.####.#.", ".#####.T#T##........", ".#####..#...T.###T##", ".T.###..#.#...#..T..", "######T.#.#####T####", "#####.......###.TT##"}

    19

    10

    16

    9

    Returns: 4

  82. {"##....T.....T..#####", "....................", "###.###.###..#######", "###.###.###..#######", "..#.###.##..........", "###.###.###..#######", "###.###.###TT#######", "###...............##", "###.#######..#######", "###.#######T.##T##.#", "###T#######..##T##.#", "###.#######..##.##.#", "###.#######.T##.##T#", "###.###.###.###.##.#", ".T..###.###T........", "#######.###.###T##T#", "..............#.##..", "#######.###.###.##.#", "..........#.#.......", "#######.###..#######"}

    7

    7

    -13498014955918

    3

    Returns: 13498014955931

  83. {"##...#####.######.##", "T.T..#.###.##.##....", "##...#.###.##.#....#", ".T.........##.##.T..", ".......T.....T##....", "##.#..#.......##..##", "........T###..###..T", "##.#.T##..........T.", "T####.######.....T..", ".########..#..TT....", ".########..#........", ".#.#......T#.#..#.#T", ".#..............#.#.", ".#.##.###..####.#.#.", "#..##.####T##.#.#.#T", "#..##......##.#.#.##", "#.#...............##", "#.##..#.....T....T##", "#.##.#####.##.###.##", ".....#####.######..."}

    19674328265763

    4

    19115939968644

    10

    Returns: 558388297128

  84. {"T###.##.T...........", "####......####.#.###", "####T.T##..###.#####", "####....#..###...#..", "####........#....#..", "########...###......", "####.###.#.##...T.T#", "###.....T#......#T.#", ".....##########.#.#.", "#.#.............#.##", "#....####.........##", "..#.#######.....#...", "#.####.####.###....#", "#.##....###..###...#", ".#####..............", "#...##.##....###.###", "##########.#.###.###", "###.###.##.#.#.....#", "#.....#..#######.###", "..#...T..###.T......"}

    3

    15

    11

    1

    Returns: 18

  85. {"#...#T.###T#.#..####", "#...#.T###.#....T.##", "#..T##....T#....####", ".T..##.#.....##T.#..", "#.####.###.#T....T.#", "#T####.###.#.##.T...", "T......#....###.T#.#", ".#...T.#####.....T.#", ".#.##T##########T..#", ".#.##.##.....###T.T#", "##.##.#T##.T.......#", "##......T....T..#..#", ".####.T.....###.#.T.", "...T....###.T##.#...", ".####.T###...##.##T.", "T###.....##.T#..###.", ".#..#T..T.#..#..###.", ".#..T....T.#.#..###.", "##...T...#T#.#..###.", "#T..#.##.#.#.#....T."}

    14012146243723

    11

    659531468207

    14

    Returns: 14687876253071

  86. {"T.T.......#####..##.", "#.########.####TT##.", "T.########..T.......", "#T########T####..###", "##########.####..#.#", "##########T####T.#.#", ".#####.###.####..#.#", "...T.......####..T..", "........##.####.....", ".##.##.###.#######.#", ".........#.#######..", "..#.##.###.#######..", ".T......##.#######.T", "..#.##.###..........", "..#.##.#########.#..", ".................##.", "..#.##.########..##.", "#............##..##.", "#.#..............##.", "#.#.##.########..##."}

    -19357240715711

    0

    -380451387232

    2

    Returns: 22772147194178

  87. {"##...#..#T##......#T", "##.T.#..##....T.####", "....T...##.T....###.", "........##.########.", ".#.###..##..........", ".#.###.#.##.######..", "............######..", ".......#.##.........", "##...#.......#######", ".......#.##..#######", ".#...###.##......###", ".#........##.####.##", ".....###.###.####.#.", ".##..#.#.....###....", "###..#.#.##.......#.", "##.....#.#####....#.", "###T##.#T.#####...#.", "###..#....#####...#.", "##......#.#####.#.#.", "..........#####.#.#."}

    -8905978007257

    1

    5529642087314

    14

    Returns: 15879182104034

  88. {".##..T.T........#.##", ".#...#.....##..##.##", ".....####..##..##...", ".....####..##.####..", ".####.#.##.##.###...", ".####.#.##.##.......", "#####...##.#########", "####....##.......###", "#...........########", "#.T............T.###", "#.......#.T.####T..#", "#..###.##...T..T..##", "...###.##.....###.##", "...T...##.#T#.###.##", "..####.####.#.###..#", "..#.##......#.###..#", "....#####.....###...", "........##.##....#.#", ".##.######...#..#..#", ".##..###........#..."}

    -14174579713480

    6

    2

    3

    Returns: 15592037684838

  89. {"...#..T..####.####T.", "...T....##..T..#####", "..##.#.###..........", "..#.##.###.....##..#", ".##.##.......#.##..#", ".##......T..T#..#..#", "........##......#...", ".##.#....T.T##..#..#", ".##.#.#..#####..#..#", "......#..#####..###.", ".#......#######.####", "###T#######T......##", "....###..T...####.T.", "#.#.##.####.#####.##", "..#.#..#.##.#####.##", "...##..#T##T#####.#.", "...#.....##.###.....", "...#.T...#####T...#.", "..##.....####.#####.", ".T##....T####.#####."}

    7073050128727

    6

    16

    17

    Returns: 9194965167326

  90. {"#########.#..####.#.", "#########.#..####.#.", "#####...........#.#.", "#########.#T.####T#.", "......T............T", "............#####.#.", "#########.#T#####.#T", "#######.............", "#########.#.#####.#.", "#########.#.#####T#T", ".......##.#..##.....", ".....##.............", "...........#.####...", "....................", "......###.##........", "#########.##.######.", "#########.##.######.", "#########.##.######.", "#########T##.####T#.", "#########.##.####.#."}

    14450120243754

    12

    -15976097284596

    6

    Returns: 30426217528353

  91. {".######...###.##.##.", "....##.#......##.#..", "##..##.#..#.......#.", ".#.....#.####.##.#.#", ".#..##.#.###........", "........########.#..", "..T.##.#########T#.#", "#...##.#####.....#.#", "....##.##.....####.#", "..####.###.##.#....#", ".......###.##.####.#", "......#.............", "T.##.....#T######..#", "..###.T.##.####...T.", "..###...#...........", "........##.##.###...", "..###..............#", "...####.##.##.##....", "....###.#........##.", "T#....#.#.....##.##T"}

    -16479796358068

    8

    -14743200607519

    8

    Returns: 2083914900663

  92. {"....##.#............", "#.......#.##..#####.", ".####.#T.....T######", "..###.###.....####..", ".########.....####..", "...###.##...#.......", "##.##.T##T.######..#", "...##...........#...", ".#.##..#....#......#", ".#.#...###...####.##", ".#.....###.#####..##", ".......##...####....", ".#.#######.##.......", "##.......##.####.#.#", ".#.####...TT##.#.#..", "##.T.##.###.#.T..###", "##.##.####..##.#####", "##..#.####T.##T#####", "##T.#.####.#.#.T###.", "##T....##..#....###T"}

    8

    6

    18188407206027

    2

    Returns: 25463770088438

  93. {"##...TT.####.###...#", ".....##.########....", "###...T.######...T.#", "####.......#####.#.#", "##....###########..#", "##.#.######.#......#", ".#....T####.##....T.", ".#.####...#.........", "....##..#...##..T.T.", "#.T.....###T##..####", ".####...............", "........#.#.##..#...", "##.##..T#.#.##.T.###", "........#.#####..##.", "......#.#.#####..##.", "#..##.#.#.#####..###", "#..##........###.#.#", "#.#####.####.###.#.#", "..#####.####.#..T..T", "#.##.##.####.###...#"}

    -16312092135930

    18

    -12941460116547

    1

    Returns: 4213290024238

  94. {"..........######.##.", "...###.#########.#..", "...###.#########.#..", "...##...............", "...###.#########....", ".T.#############T...", "......######........", "...#############....", "#..............#....", "################....", "################.TT.", "####................", "....................", "######.#########.#..", "######T#########.#T.", "#.####.#########T#.T", "#.####.#########.###", ".......#########....", "...###.#############", "..T..T.######......."}

    -15115439984437

    15

    3

    0

    Returns: 20405843978995

  95. {".#.....#T###..#T....", ".....###.###........", ".##.......#.........", "..#..##...##..###...", "....................", "#.....#...#####.###.", ".##...##.####.......", ".##.........###.###.", ".#......##.####..##.", ".T...##T##.####..#..", ".....##.##..........", "##......###....#.###", "..............#..##.", "###.##..###.#.#..###", "###.##..........####", "....##.####..##.##..", "###.##.##....##.####", ".##.##.#####.##.#.##", ".##.####.###.##.....", ".##..###.###..###.##"}

    19206250751413

    11

    -8850996261772

    15

    Returns: 28057247013203

  96. {"##..##.##.....#.#.##", "...######..##.###...", "T#..###...T##.###.##", ".#..###.#.###.###.##", "........#.#.#.####..", "##.#....#.#......###", "#.##....#.#...#....#", "#.............##.#.#", "#.##.#.##.##..##.#.#", ".......#####..##.#.#", "#.######.###.T#...T#", ".#######..#...###..#", ".#######.......##.##", "..##...#..T..T..#.##", ".....###..###.......", "..####..T..T....#...", ".......#...#...##...", ".##.##.##T##....#.#T", ".##....##....##.####", "T..T...##..#.##.#..."}

    10

    12

    5

    12

    Returns: 5

  97. {"...#..#........##.#.", "T##......T####.#####", ".###.T##T#####.#####", "..##.......#.#.#####", "#.##..##.###.#.#####", "..###.##.....#.#....", "..#........#.####.#.", "#.......#.........#.", "#.######.....T..T.#.", "#.#####T#.####.##T#.", "#######...##.#.####.", "...####......#.#....", "#............#.....#", "#......##......#####", "#........#.........#", "......#.##.##.#####.", "##.####.#..#...#####", ".#......#.....######", ".######....######.##", ".#........####......"}

    5

    17

    -1284658936027

    2

    Returns: 1541590723255

  98. {"########..#####.#...", "########..#####.#.TT", "########..#####.#..#", "#.######..#####.#..#", ".............##.#..#", "#............##.#..#", "....####..###.......", ".........######.#...", "#.#############.#..#", "#.#############.#.##", "....................", "#.#############.###.", "#.#######.#########.", ".....####.####......", "........#.######....", "########..#########.", "....................", "########..#######...", "########..#####.#...", "..........#####.#..."}

    18644386181893

    1

    12435114645201

    9

    Returns: 7451125844062

  99. {"..T..####.#.####T#..", "###.....#.#.####.#.#", "####..........##.#.#", ".###.####...........", "####.##.##........##", "......#..#....##.##.", "###............#.###", "......#........#.###", "####.......#.#.#..#.", ".....T....#.T..#..#.", "...#....####...#....", "........#......#..#.", "#..#.#..####..##..#.", "#..#....###.......#.", "##..#.....##..##.##.", "###.#...#.###.##.###", ".##.#.......###.....", "....#.#.#.....##.#..", "#####.....##########", "####.####.######.###"}

    -11907433497437

    17

    11

    10

    Returns: 15479663546689

  100. {"...##########.##....", "...#...#####....##..", "#..###...###.#######", "......######.#####.#", "#.###########.####.#", "##########.....###.#", "#..##.......#..###.#", "....#.#.###....#....", "T.........#T.###....", "#............###..##", "......#.#.#...##..#.", "..#.##.......####.#.", "#######.#.######...#", "........#...........", "...##.#..........#..", "......##.......#....", ".......#.#..#..#..##", "..#.#.##.#..#..#..##", "..#.######..#.##..##", "....#########.##..#."}

    2

    8

    17

    3

    Returns: -1

  101. {"##.T#T#####..####.#.", "#..#.........####T#T", "#..##.####.#.#..#.#.", "#..##.####.#.#..###.", "#.T##.T....###..####", "......####.###..##..", "###....#######..###.", "..T...#.T#####...#..", "####.##..#####......", ".###.....######.....", "..##.##.########..#.", "####.#.....####....#", "...................#", "#####.........#.....", "###.....##........#.", "###.#.####.##.##.##.", "....#.####.#........", "###.#.####.##.....#.", "###.#.##.......#.##.", ".......####...#####."}

    12

    17

    18277017598007

    4

    Returns: 20104719357806

  102. {"#.#T..T...", "...T#..T.."}

    4047

    6

    -1

    9

    Returns: 4051

  103. {"T#T#.#.#.#.#.#.#.#.#", "#..#.#.#.#.#.#.#.#.#", "..#..#.#.#.#.#.#.#.#", ".#..#..#.#.#.#.#.#.#", ".#.#..#..#.#.#.#.#.#", ".#.#.#..#..#.#.#.#.#", ".#.#.#.#..#..#.#.#.#", ".#.#.#.#.#..#..#.#.#", ".#.#.#.#.#.#..#..#.#", ".#.#.#.#.#.#.#..#..#", ".#.#.#.#.#.#.#.#..#.", ".#.#.#.#.#.#.#.#.#..", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#" }

    19

    0

    19

    18

    Returns: 363

  104. {"T#T#.#.#.#.#.#.#.#.#", ".###.#.#.#.#.#.#.#.#", ".#T#T#.#.#.#.#.#.#.#", ".#.###.#.#.#.#.#.#.#", ".#.#T#T#.#.#.#.#.#.#", ".#.#.###.#.#.#.#.#.#", ".#.#.#T#T#.#.#.#.#.#", ".#.#.#.###.#.#.#.#.#", ".#.#.#.#T#T#.#.#.#.#", ".#.#.#.#.###.#.#.#.#", ".#.#.#.#.#T#T#.#.#.#", ".#.#.#.#.#.###.#.#.#", ".#.#.#.#.#.#T#T#.#.#", ".#.#.#.#.#.#.###.#.#", ".#.#.#.#.#.#.#T#T#.#", ".#.#.#.#.#.#.#.###.#", ".#.#.#.#.#.#.#.#T#T#", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#.#.#", "##.#.#.#.#.#.#.#.#.#" }

    17

    0

    20000000000018

    18

    Returns: 20000000000332

  105. {".#.", "##.", "..." }

    0

    0

    2

    2

    Returns: 6

  106. {".#.#.#.#.#.#.#.#.#..", ".#.#.#.#.#.#.#.#.#.#", ".#.#.#.#.#.#.#.#...#", ".#.#.#.#.#.#.#.###.#", ".#.#.#.#.#.#.#...#.#", ".#.#.#.#.#.#.###.#.#", ".#.#.#.#.#.#...#.#.#", ".#.#.#.#.#.###.#.#.#", ".#.#.#.#.#...#.#.#.#", ".#.#.#.#.###.#.#.#.#", ".#.#.#.#...#.#.#.#.#", ".#.#.#.###.#.#.#.#.#", ".#.#.#...#.#.#.#.#.#", ".#.#.###.#.#.#.#.#.#", ".#.#...#.#.#.#.#.#.#", ".#.###.#.#.#.#.#.#.#", ".#...#.#.#.#.#.#.#.#", ".###.#.#.#.#.#.#.#.#", "...#.#.#.#.#.#.#.#.#", "##.#.#.#.#.#.#.#.#.#" }

    0

    0

    0

    2

    Returns: 358


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: