Statistics

Problem Statement for "Robot"

Problem Statement

A very simple robot moves in a random cardinal or diagonal direction (cardinal directions are north, south, east and west, and diagonal directions are north-east, north-west, south-east, and south-west) each timestep. Thus, the robot has a 12.5% chance of trying to move in each of 8 directions. If the robot moves in a diagonal direction, it moves one unit left or right, and then one unit up or down (both in the same timestep), depending on the direction. If the robot moves in a cardinal direction, it moves 1 unit in that direction. Given a String[], floor representing a bird's eye view of the floor, you are to determine the probability that the robot will end up at location (x,y) after time timesteps. You should return the probability as truncated parts per 1000. In other words, if act is the actual probability, return (int)(act*1000). Each character in floor represents one square unit of the floor and is an 'X', an 'R' or a '.', representing an obstacle, a robot, or an open floor, respectively. There is only one robot, and if it attempts to move into a square occupied by an obstacle, or it attempts to move diagonally when there is an obstacle in either of the locations that it is moving between it instead does not move. More specifically, the robot may move diagonally, if and only if the locations that it moves between and to are clear. Also, the robot can not move outside of the floor. In other words, consider floor to be surrounded by obstacles. Location (x,y) is represented by character x of element y of floor.

Definition

Class:
Robot
Method:
getProb
Parameters:
String[], int, int, int
Returns:
int
Method signature:
int getProb(String[] floor, int x, int y, int time)
(be sure your method is public)

Constraints

  • floor has between 1 and 50 elements, inclusive.
  • Each element of floor has between 1 and 50 characters, inclusive.
  • Each element of floor has the same number of characters.
  • Each character of each element of floor is either a '.', an 'R', or an 'X'.
  • There is exactly one 'R' in floor.
  • The input will not cause rounding errors. In other words, the actual double probability will not be within .000001 of .xxx000, where the x's represent digits, unless it is exactly 0.
  • time will be between 0 and 1000, inclusive.
  • x will be between 0 and the length of the first element of floor - 1.
  • y will be between 0 and the length floor - 1.

Examples

  1. {"R.XX", "..XX", "..XX", "...."}

    3

    3

    7

    Returns: 1

  2. {".....", ".X...", ".R..."}

    1

    2

    619

    Returns: 71

  3. {"...", "..X", "X..", ".X.", "...", "...", "...", "X..", "X..", "X..", "...", "X.X", "...", ".X.", "...", ".R.", ".XX", "...", "...", "...", ".X.", ".X.", "...", "...", "...", "X..", ".XX", "...", ".X.", "...", "..X", "X..", "...", "...", ".XX", "X..", "...", "..X", "..X", "X.X", "...", "..."}

    1

    15

    937

    Returns: 16

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

    10

    1

    633

    Returns: 72

  5. {"...X...R..."}

    7

    0

    602

    Returns: 142

  6. {"X.....X...X...........", "XXX..XR........X......", ".X.X.XX....X..X....X.X", "X............X........"}

    6

    1

    105

    Returns: 36

  7. {"X...X....X...", "..X...X..XX..", "....X..X.X..X", ".............", "X.....XR.....", "XX..XX.......", ".....X.X..X..", "X..X..X.X....", "............."}

    7

    4

    557

    Returns: 11

  8. {"........XX....X.X..X....X....X....", "..X.........X.....X..X..X.........", "X......XX.......X.X...............", "........X.....XX.X.....X.X........", ".....X.X......X..X.X..X..X.X......", ".............XX.......X.....X..X.X", "X...X.....XX.X.........X...X.X....", ".X.X.XXX.......X......X...........", ".X...........X...X......X......X..", "..X.X..X............X..X.X........", "X....XX...X..XX.X..X....X.X....X..", "...X...X..........X...X...........", "..XX.X.X....X..X.X....X.X.....X...", "X.........X.................XX.X..", "..XX.....XX.X...X............X..X.", "..........R.X..X...X.............X", "....XX................X...X.X...X.", ".X...........XX.X.X....X...X......", ".X..............X..X..X.....X.....", "...X......XX...............X.X...X", "....XX.......X............X.XX....", "...........XX..XX.........X.X....X", "....X....XX......X..........X.....", "................X.......X..X..X.X.", "....XX.........X.X..X..X...X.X....", "XXX.....X........X....XX....X..X..", "X.......X....X..X...XX....XX...X.X", "..XX........X.XX.........X..X.....", ".....X..X...........X...X.X.......", "....X..X....X.......X..X..........", "......X.....X....X......X....XX...", "..X.X...........X.X.X...X.........", ".............X......XX.....X.....X", "XX......X....X......X....X........", ".......X..X............X....X..X..", ".X...........X.XX.............X...", "...X..X..X....X.X..X.....X........"}

    10

    15

    374

    Returns: 2

  9. {".......XX..X....X.....", "XX........X.X....X....", "..X.X.XX.....X.......X", "...X..X...X.....X.XX..", ".R.X.X...XXX....X.X..X", "......X..........X..XX", ".X.X......X..X....XXX.", "X..X.X........X.XX.X..", "..X.........XX.....X.X", ".X.....X....XX....X...", "......X..X.....X.X.XX.", "....X..X..X.....XX...X", ".........XXX..X.X.....", "...X.X...X.X..........", ".X........X.........X.", "XXX...X...X...X.X....X", "..X..X..XX....X....X.."}

    1

    4

    663

    Returns: 10

  10. {"....XX..R.X...X..X...XX.......X.X...X...X.", "...................X......X.....X.........", "....XXXX......X............X.....X.......X", "...........X.X...........X...XXX....X....X"}

    8

    0

    158

    Returns: 22

  11. {".......X.X.......X.....XXXX..XX..", ".X..X....X...X.X.X...X....X......", "X....X.......X.X......X..........", "X........X.XXX.............X.....", "................X................", "..X......X.....X...X....XX.X....X", ".......X...X.....X.X..X..X.......", ".X.......X.........X...X.........", ".......X..............X....X...X.", "...X......X.......X.X............", "X..X...X............XX.....X.....", "..............XX....X.XX..X...X..", "X.XXX...XX.....X.X..X.X.X.......X", "........XX...........X.....X...X.", "XX......X....X..XXX..XX.X...X....", ".....X.......X.XXX...XXX.........", "X.X...........XX.X......X.X..X.XX", "X............X....X....X..X...X..", ".......X...X......X.........X....", "...X...X...........X.....X...X...", "X............X.....X...X.X.X.....", ".XXX.X........XX....X.X.X.XX....X", "................X....X..X........", "..X.X....X...XX......X..X...X...X", ".....XX..........XXX.............", ".......XX..........XX......X..XX.", ".......X...X...X..X..X.....X.XX.X", "XX.....X.......XX....X...........", "......X.........X......X..X......", "X..X....XXX..X............X......", "....X.......XX...X.X.........XX.X", ".X..............X.....R.X........", "X..........X......X..X.X.....X.X.", ".........X.X...X...X......X.X....", "X......X........XX.....X...X.XXX.", ".X......X....XX..X....X..XXX....X", "............X.................X..", "........X.....XXXXX.....X........", "..XX....XXX...X...X.....X........", "X...X.......................X..X.", "...X....X.X..X.XX..XX........X...", ".......X........X...X..X...X.....", "X...X.X.X..X..X..X....X.......X..", ".............X.........X.X.....X.", "X......XX...........XX..X.X.X.X..", ".X....XX...X.X...X.....X.X.X...X."}

    22

    31

    403

    Returns: 2

  12. {"XX.X......X.......XX.X..X", ".......XX.....XX.X..X....", "..X.......X.....X.X.X.X.X", "....X....X...X......X....", "..XX.....X......X......XX", "...........XRXX......X...", "..X....X.XXXX............", "..........X..............", "..X...X..X......X....X...", ".......X.......X.X.X.X.X.", "..X.....X........XX...X..", ".X...X........X........X.", "...............X......X.X", "...X......X...X..XX...X..", "....X.X.X....X......X.X..", "........X..X.....X..X....", "X..XXXX.......XX.X....X..", "....X..X.....XXXX........", "..X...XX........XX..X....", ".XX..X................XX.", "...X...........X...X.....", ".....X..X...X...XX.......", "X........XXXX..X.XX......", "....X..X..XX....X........", ".X...............XX.XX...", "X...X..X....XX.X.........", "..............X..X...X.X.", ".....X...................", "X........X..X.X..X....XX.", "X....X.....XX.X..X.......", ".................X......X", "....XXXX.........X...X...", "..XX..X.....X.......X.X.X", "..X.............X........", "X...X...X.....X..........", "..X.......XX.....X.......", "X.....X...........X.X.X.X", "X.....X.....XX...........", "...X.............X..XX...", ".X.......X............XX."}

    12

    5

    855

    Returns: 3

  13. {".X..XX.............X...XX.....X.....X...", "..X...X...X.............................", ".X....XX.........X.X..XX.......XX.X..X..", "................X.........X.......X.....", "XX....X.X.......X....X.X....X........X..", ".....X........X.X...X.......XXX.........", "X....X....XX....X...........XXX...X.....", "X.X...X.X..X.....X.XXX...XX.........X..X", "....X.X....X....XXXXX......XX..X...XXXX.", "........X...X.....X....X..X....X..X.....", ".....X.......X.......XX.X...............", ".X.........XX.X.........XX......X..X....", "...X............X.....X...............X.", "X..X.XX...X....X..........XXX....X..X..X", "..........X....R...X..X......XX.......XX", ".X.........X.X......X................X.X", ".......X....X............XXXX..X.......X", "XXX..X........X....XX..........X...X....", ".....X....X...X....X...X.X........X.....", "...X.......XX...XX.X.X.....X........X...", ".....................X...X..XX......X..X", "X..X..XX.....XX........X..XX......X.....", "......X................X........X...X.X.", "..X.....X.X..X.X.....X....X.........X...", "......X..X.....X....................X...", "...X......X.....X...X.....X..X..........", "....X.......X......XX......X..XXX...X...", "..X.....XX...X.X.......X..XX.....XX.....", ".....X.X.X.X........X.....X....X........", ".X.X...X...XX.......................X.XX", ".XX.X....XX........X...XX..X.XX.......XX", ".......XX...X.................XX.X..X...", ".....X......X..X...XX.......XX.X........", "........XX.............X....X....X......", "...X.X..X.....X.............X..X........", "..X......X...X.X....X.........X..X.X...X", "....XX....XX...X...........X.....X......", ".X.............................X....X.X.", "...XX.X..XX...X...X.XX.XX..X.X....X....X", "..............X.............X...........", "..X...X....X...........XX..X..X..X......", "....X.X......X.......X.X........X....X..", "X........X.XX......X................XX..", "........XX.XX.......X..X.X.....X.X.....X"}

    15

    14

    173

    Returns: 5

  14. {"XR....X....X..X.....X.......", "X....X.....X....X...........", "..XX....XX..........X...X...", ".........X............X..X..", "..X.....X..........X..X.....", "X.............X......X....XX", "...X........X...X........X..", "..X...XX.X.X..XX..X......X..", ".X.X..X..X...XX........X....", ".X........................X.", "........X.....X.X..X..XX....", ".......X....X.X........X..X."}

    1

    0

    651

    Returns: 6

  15. {".............X....X.X.", "...X.XX.X..........XX.", "...........X.....X...X", "..............X....XX.", ".X....XX....X.X.X.....", "........XXXX...XXXX...", ".......XXX......X.X..X", "X.X.X.X....XXX........", ".XX...................", "......X...X.X.X...X...", "XX........X.......X...", "..X.X....X......X...X.", "......X..X...X........", ".....X.....X...XX.....", ".XX........X...X......", "X...............X.....", "..XXX...X.............", ".........XX.....X..X..", "X...................X.", "....XX..X....X........", "X.XXX.......X....X...X", "....XXX...X..X..XX....", ".......X..............", "X.....XX.............X", "..X.X...R.....X......."}

    8

    24

    611

    Returns: 3

  16. {"..X.X..X.X.", "..X........", "X...XX.....", "X..X.....X.", "X.X...X....", "...........", "XX........R"}

    10

    6

    541

    Returns: 16

  17. {"X.......XX...X", "..............", "...X..........", "..XX....X.....", "X.X........X..", "........X.....", ".....XX....X..", ".......X.....X", "........X...X.", "...........X..", "X...X...X.....", "..XX..XX...X..", "..............", "...X.X..XX....", "..XX.X....X...", ".....XX....X..", ".X............", "..X...X.......", "...XX..X.X....", ".XX.XX..X..X..", "..X.X.........", "........X.....", "..............", "....XX....X...", "..X........X..", ".X........X..X", "X......X.X..XX", ".X..X....X....", "...X....X....X", "......X.......", ".......X..X...", "....R.X..XX...", "...XX.........", ".X........X.X.", "..X.......X...", ".......X..XXX.", "......X...XX.X", "X.X....X.X....", "X............X", "XXXX..........", "..............", "...X......X..."}

    4

    31

    822

    Returns: 3

  18. {"..XX...........X.X", ".X....X...........", "....X......X....XX", ".......X........X.", "........X.......X.", "...X.X..X.X.......", ".XX..X..X..XX.....", ".......X.......X..", "...X.........X..X.", "..........X.......", "X..X.X.X...X.X.X.X", ".X...X...XX..X....", "..X...X......X.XX.", "..X.......XX......", "......X.XR...X....", "....X...X..X.X..X.", "...X...XX.X....XX.", "...X..............", ".X...X......X.....", "....X........X....", "..XX.....X..X.....", "........X..XX..X.."}

    9

    14

    958

    Returns: 3

  19. {"......X..X.....", "XX.....X.......", "XX.X....X......", "....X.........X", "......X........", ".....X.XX..X...", "X....X.........", ".X.............", "X.....X........", ".....X..X......", "XX....X..X.....", "...............", ".......X.......", ".......RX....X.", "...............", "...X..XX......X", "......X........", "..X.....XX....X", "XX......X..X...", "....X.....X....", ".......X.....X.", "X..........X...", ".......X...X..X", "X...XX.......X.", ".....XX....XX..", "X........X.....", ".X.........X.X.", "XX.X...X...XX.X", "X.XX.......XX..", ".X.X...........", "X.X..X.X......X", "...X...........", ".X...X.....X...", "..XX...X.X...XX"}

    7

    13

    268

    Returns: 4

  20. {"........", "......X.", "........", "....X...", ".X.X....", "X.X..X..", ".X......", "........", ".X....XX", ".....X..", "..XX...X", "..XXX.X.", "........", "..XRX...", "........", "..X..X..", "........", ".X.....X"}

    3

    13

    773

    Returns: 10

  21. {"...............X.....X....XX...X.X", "...XX.X.X....X.............X..X...", "X......XX.......X........X.....X..", "...X........X...XXXX....X......X.X", "......XX.XX........X....X.........", "X.....X.X.......X...X...X...X.....", ".........X.X.......XXX.........X..", "...X............X........XX.......", "....X......X..XX..................", "......X.X........XX.......XX.....X", ".X....X...X.X.XX....X....XXX.X....", "..X...X......X.....X............X.", ".......X.......................X..", "........XX...X.................XX.", "X.....X..RX........X....X.........", "....X........X..X...X..X..X.......", "........X......X......X....X...X.X", "...X..X.....X..............X......", "..X.X............X...X.........XX.", ".X..XX.....X...X..................", "..X........X...........XX.......XX", "........X..X.....X......X.........", "....X...X...X.....X...XX..XX...X..", "......X.X.X....XX........X...X....", "X......X....................X.X...", "................XX......X.........", "..............X....XX.X..........."}

    9

    14

    59

    Returns: 16

  22. {"..X.", "....", ".X..", "....", "..R.", "...."}

    2

    4

    114

    Returns: 45

  23. {"......X.X.....", "..R....X.....X", "X..X...X......", "....X....X...X", "........X.....", "...X...X.....X", "...X..XX....X.", "X.X...X.X....X", "..XX.XXX.X..X.", "...XX...X.X...", "...X..........", "X.............", "X..X.....X....", "....X.........", "...XX.........", "..........XX..", "..........X...", "X..X.......X.X", "X.X...X...X...", ".....X....X...", "........XX..X."}

    2

    1

    206

    Returns: 16

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

    3

    18

    98

    Returns: 46

  25. {".....", "....X", ".....", ".....", ".X...", "..X..", "X..X.", ".....", "X..X.", "....X", ".X..X", "...X.", ".X.X.", "...X.", "..X.X", "X..XX", "...X.", "X....", ".X..X", "..X..", "....R", "..X..", "X...X", "X....", "...X.", "....X", "..X.X", ".....", "..X..", ".....", "XX.X.", "X...X", ".XX..", "X...."}

    4

    20

    793

    Returns: 10

  26. {"X.X.X", ".....", ".....", ".....", "X....", "X.XX.", ".....", "....X", ".....", "..X..", "..X.X", ".....", "...X.", ".....", "XRX..", ".....", ".....", ".....", "...X.", "...X.", "...X.", "...X.", "XX...", "...XX", ".....", ".....", ".XX..", "..X..", "....."}

    1

    14

    294

    Returns: 11

  27. {"....X.XR......X.X.....", "......X..XXX..XX.....X", "X.........X.X.........", "...X..................", "......X.....X.X..X.X..", "..X...X.........XX..X.", ".X...........X.XX.X..X", ".X.X.X............X...", "...............X...X..", "...X.........X...X....", ".XXX...X..X.XX...X...X", "......X.X......X...X..", "...........X........X.", "X..........XX.X.......", ".X..X............X...X", "...X..X....XX.........", ".....X........X.XX....", ".........X.......X.X..", "....X.......XX........", "..X...X...X...........", ".......X.X.XX..XXX..XX", "X.....X..XX..........X"}

    7

    0

    176

    Returns: 7

  28. {"X..X.....X.XX...........X.X...XXX.......", "XX........X.....X...X....X...X..X.......", ".X....X...XX.RX..X.....X...........X.X..", "...........XX..X.X..X......X.X.XX.......", ".....X...X....XX........XX.......X...X..", ".......X.........XXXX..........X...X....", ".......X...X..........X...X....X........", "X.........XXX..X.X......X.............X.", "....X.............X..X.............X...X", ".....XX........X.........X..............", ".XX......XX.X...............XX.....X...X", "...X.....X.........X...X..X.X...........", ".......X..X........X.X...X.X....X.......", "..X...X.X..X......XX....X.....X.........", ".........X.......XX..........X.X...XX...", ".....X.....X...............X.X....X.....", ".X....X...........X.....XX....X.........", "..................X...........X.X....X.X", ".X..........X.........X....X......XX...X", "......X...X.....X....X..........XXX.X...", ".....XX.XX.....X...............X........", "..X...XX........X..X.X..............X...", ".X..X.X............X...XXXX........X..X."}

    13

    2

    667

    Returns: 3

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

    0

    3

    934

    Returns: 11

  30. {".X......X.......", "...X.......X....", "...........X....", "..X.....XX.X....", ".....XX...X.XX..", "...........X...X", "....RXX....X.X..", ".X..XXX.........", "................", "..XXX......X.XX.", "................", ".....X..X.....X.", ".X.....XX..X...X"}

    4

    6

    504

    Returns: 6

  31. {"..X.X...........X........X....X..X..............", "...X...XX..XX.....X.........XX.X.....X..X.X....X", "...X........X...X......XX.......X...X..X....RX..", "..X..X.X.XX.X......X..X.X.X.......XX......XXX.X.", "XX.X...X.X................X..........X...X.X....", "X.........X...X.X.......X...........XX..XX..X...", ".X..X......X....X..X...X...........X.......X..X.", ".X..X..X.XXXX.XX.....X....X...X....X.......X....", ".X..X.X................X....X.XX.........X...X..", "....X.X.XX...XX.X..XX........X.........X..X.X...", ".......X....X.X...X..X.X........X........X.X....", "X......X.......X.....X....X........X.X......X...", "......X.......XX...XXX.X......X..X.....XXXX..X..", ".X...X.......XXX...X.....XX.X......X...XX.X.....", ".......X............X..X.........X...X.....X....", ".X.........XX....X..X..X..X..........XX....X...X", "..................X...X...XX..X....X............", "..X........X........................X....XX.....", "X.X.................X............X............X.", "............X.............XXX...X.....X.........", "....X..X.........X....X....X...X............X...", "......XX....X.X..X........X....X......X....XX...", "X.X.........X....X..............XX..............", "X.X.X...X.X.....X..............X......X.........", "X...X.......................X........X........X.", "..XX........X....X...X.........X..X.X...X.......", "X..X..X......X....X.X.X.........X..X...........X", "...X.......X.........XXX....X..X..X....X........", ".....X..................X........X....X....X.X..", "...........XX......XX.X....X.X.X.X..X..X........", "......X.X..........X......X.X.X.............XX..", "X.X.X............X....X....X.......X.......X....", ".X............XXX..XX..X......X..X..X..X....X.X.", "....X......X......X..X..X.......X.X...X.........", "..X.......X.XX.....XXXX........X...X............", "XX....X.X...................X.........XX....X...", ".X......X..X.X......X....X......X.........X...XX", "..X....X..................XX.....X.X............", "...........X...XX.XX.X....X................X....", "..X....X......XX.....XX..X..................X...", ".X....XX...X.X..........X.X.X...X...X...........", ".....XXXX..X...X...........X.....X...........X.X", "...X..........X.........X......X................", "X....X.X.........X.....................X.X.XX..X", "..X......X.....X......X....X........X.......X..X", ".........X.X......X..........XX.X.X...X.........", "X......X............X.....XX....X...X....X.X....", "........X..X.....X.....X.....X....X.........X...", ".....X...XXX......X.........X..X...........X...."}

    44

    2

    669

    Returns: 5

  32. {".X.X....XX.X..........X.......X...", ".XX.X........X..XX...X......X.....", ".X..X.......XX.......XX..X........", ".......X.X...............XX.X.....", "..X..........XX.....XX......XXXX..", "...........X......X.XXX......X....", "..X...X.....X......X.....XXX.....X", "........X.X...............X....X..", "X......XX............XX..........X", "...X........X....X...XX....X....X.", "..X.......X.......................", "X............X....X..X..XX....X...", "X..X.XX....X......XX.X......XX.XX.", "..X..X......X.......X.X.......XX..", ".X.....XX....X.X....X.X...........", "..XX.X...X.X..X.X..X...X..........", ".XX................X.X....X..XX..X", "..X..X........X...X......X.XX.....", ".X....X.X.X....................X..", ".....X....X......X...............X", "XX.......XX....X.X..XX.X..X...X...", ".....XX....X........X.......X.....", "...X...X...X.X...X.X.......X......", "....................X....X.....X..", ".......XX.XXX.X.X..XXX....X.......", ".X.....X....R......XX......XX.....", "......X......X.........X....X...X.", ".X...X.X....XX...X..........XX....", ".XX.X.....X...XX....XX...........X", ".X.X..X.........................XX", "........X....XX....X..............", ".X....X..XX..X..X.........X...X..X", "...X.....X.....X.XX...X....X...X.X", "......X..X..X.X..X....XX....X....X", "..X..XX.......X.X...X....X..X....X", "X...........X..XX..X.....X........", "..X.X.X...XX....X..............X..", ".X......X........X............X.X.", "..X.X...XXXX......X.....X.X.....XX", ".........X...............X........", "..X...XXX....X....X..X............", "XX..........X...X.X..........X...X", "...X....X....X....X............X..", ".X....XX....X.....XXX......X.X..X.", ".......X.............X........X...", ".X..X.X...X..........X...XXX....X."}

    12

    25

    292

    Returns: 4

  33. {"X....X....", ".R......XX", ".XX.X.....", "..........", "..........", "X....X....", "..........", "......X.X.", ".X....X.X.", ".X...XX...", "..........", "..........", "X......X..", "XXX...X..X", "X..XX.X..X", "..........", ".....XX...", "..X.X.....", "......X..X", ".........."}

    1

    1

    512

    Returns: 8

  34. {"X", ".", ".", "X", "X", ".", ".", ".", "X", ".", ".", ".", ".", ".", ".", ".", "R", "X", "X", ".", ".", ".", ".", ".", "X", ".", ".", "X", ".", ".", "X", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", "."}

    0

    16

    32

    Returns: 274

  35. {"X...X.........X...XXX.X....X.", ".....X....X.........X........", ".X.......................X...", "......X..............XXXX..X.", "....X.X.X.......X...X.X....XX", ".....X.....XX......XX.....X..", "...X...X.XX.........X..X..X..", "........X..X....X.......X.X..", "....X..X..................XXX", "............X...........X....", ".........X...X........X......", ".........XX..X....X.....X....", "....X.X.X.....X.XXXXX....XX..", "........X.X....X.......X.....", "...X....X...X...X.X...X..X...", ".X.....X..X............X..X.X", "...........R..X.........X....", ".........X...........X....XX.", "..................X..X.......", "X.X..X...X.......X....X.X.XX.", "...X..X..X....X..X......X....", "X......X....X..........X....X", "......X.......XX.....X....X..", "..XX.....X.X.X............X..", "...XX...........X..........XX", ".X........XX.......X.....X...", ".....XX.....X.X...XXX..XX.X.."}

    11

    16

    278

    Returns: 3

  36. {"..XX...X..........", ".X...X.X....X..X..", "...........X.X....", ".....X.........X.X", ".X....X..X......XX", ".X.X........X.X...", ".X..........X....X", "..X.X...X.X.......", ".X....X.....X..X..", "X....X...XX......X", ".X.X......X...X...", "XX............XXR.", "........X.X.....X.", "..X..........X....", ".X................", "..X.XX........X.X.", "..X.X.X..X........", "X....X....X.X.....", "..........X..X.XXX", "X.X...........X..X"}

    16

    11

    696

    Returns: 4

  37. {"...............XX....X.X..........X....X....X.R.", "......X........X...............XX....X.........."}

    46

    0

    4

    Returns: 165

  38. {"X.........X.........X..X....", ".....XXX................XX..", "...X...X.XX...........X.X.X.", "..............X......X...X.X", "X..X..........X.............", "..X.X.........XXX..X..X.....", "X.X...R...X...XX.X...X......", "..X..X......................", "...X........XX..X.....X.....", ".XX...........X.............", ".......X....X..X.X..........", "XX............X.....XX......", "...........X.....X..X.X...X.", "..X...X......XX...X.....X.X.", ".........X...X......X.......", "X....X.X.XX.......X...X...X.", "............X.XX.....X......", "......X...........X..X......", "..X.X..X..........XX....X...", "XX......X.X.......X..XX.X...", "........X..........X.....XX.", "X.......X..X.X......X.......", "..X...X.......X......X..X...", "..XX........X..............X", ".X..........XX..............", "..X.XX..X.....X....X....X...", "..XX........X...........X...", "XX......X..........X..X.....", "............................", "..X.X.........XX.......X...."}

    6

    6

    821

    Returns: 2

  39. {"..................XX...........X..", "......X...............X........X..", ".X...X...XX...X......XX.......X...", "X......X...X.X..XX....X.......X...", "........X.....X....R..............", "X.X.X.X.XX......XXX.......X...X...", "X....X.X......XX................X.", ".....XX.....X...X.................", ".....X..X..XX................X....", "X.....X...X.......X...X.....X.....", ".X......X...X....XX...X...........", "....X....X..X.X......XX...........", ".XX......X.................X.X.X..", "X.X..........X.X....X.X.X....XX..."}

    19

    4

    148

    Returns: 5

  40. {".", ".", "R"}

    0

    2

    635

    Returns: 333

  41. {"...X", "R...", "....", "....", ".X..", "...X", ".XX.", "X...", ".XX.", "X...", "X..X", "....", "X...", "....", "...X", "....", "....", "....", "....", "....", "....", ".X.X", "X...", "....", ".X..", "...X", "....", "XXX.", "....", "....", "....", "....", "....", ".X.X", "....", "....", "...X", ".XX.", "..X.", "....", "...X", "X..X"}

    0

    1

    483

    Returns: 45


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: