Problem Statement
Today, Mr. Dengklek wants to align the ducks so that the ducks form a contiguous line. More precisely, assume that there are N ducks on the farm. After the alignment, the ducks must either occupy N contiguous squares in some row or N contiguous squares in some column. To accomplish that, he will move the ducks one at a time. To move a duck in square (a, b) to another empty square (c, d), he needs |a-c| + |b-d| seconds, where |x| denotes the absolute value of x. Mr. Dengklek can always move any duck to any empty square he desires - the other ducks are not obstacles.
Return the minimum time in seconds Mr. Dengklek needs to align the ducks. Note that restrictions imposed on the initial placement of ducks guarantee that a proper alignment is always possible.
Definition
- Class:
- DucksAlignment
- Method:
- minimumTime
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int minimumTime(String[] grid)
- (be sure your method is public)
Constraints
- grid will contain between 1 and 50 elements, inclusive.
- Each element of grid will contain between 1 and 50 characters, inclusive.
- All elements of grid will contain the same number of characters.
- Each character of grid will be either 'o' or '.'.
- Each row in grid will contain at most one character 'o'.
- Each column in grid will contain at most one character 'o'.
- grid will contain at least one character 'o'.
Examples
{".o", "o."}
Returns: 1
Move either duck to an adjacent empty square.
{".o...", "..o..", "....o"}
Returns: 3
One of the solutions is: move the the duck in the first row one square to the right, and then move the duck in the last row two squares to the left.
{"o..........", "..o........", ".......o...", "...........", "...........", "...........", "........o..", "..........."}
Returns: 16
Align all ducks in the second row.
{".........", "....o....", "........."}
Returns: 0
{"...o..........................", "............................o.", ".o............................", "............o.................", ".................o............", "......................o.......", "......o.......................", "....o.........................", "...............o..............", ".......................o......", "...........................o..", ".......o......................"}
Returns: 99
{"o.................................................", ".o................................................", "..o...............................................", "...o..............................................", "....o.............................................", ".....o............................................", "......o...........................................", ".......o..........................................", "........o.........................................", ".........o........................................", "..........o.......................................", "...........o......................................", "............o.....................................", ".............o....................................", "..............o...................................", "...............o..................................", "................o.................................", ".................o................................", "..................o...............................", "...................o..............................", "....................o.............................", ".....................o............................", "......................o...........................", ".......................o..........................", "........................o.........................", ".........................o........................", "..........................o.......................", "...........................o......................", "............................o.....................", ".............................o....................", "..............................o...................", "...............................o..................", "................................o.................", ".................................o................", "..................................o...............", "...................................o..............", "....................................o.............", ".....................................o............", "......................................o...........", ".......................................o..........", "........................................o.........", ".........................................o........", "..........................................o.......", "...........................................o......", "............................................o.....", ".............................................o....", "..............................................o...", "...............................................o..", "................................................o.", ".................................................o"}
Returns: 625
{".................................................o", "................................................o.", "...............................................o..", "..............................................o...", ".............................................o....", "............................................o.....", "...........................................o......", "..........................................o.......", ".........................................o........", "........................................o.........", ".......................................o..........", "......................................o...........", ".....................................o............", "....................................o.............", "...................................o..............", "..................................o...............", ".................................o................", "................................o.................", "...............................o..................", "..............................o...................", ".............................o....................", "............................o.....................", "...........................o......................", "..........................o.......................", ".........................o........................", "........................o.........................", ".......................o..........................", "......................o...........................", ".....................o............................", "....................o.............................", "...................o..............................", "..................o...............................", ".................o................................", "................o.................................", "...............o..................................", "..............o...................................", ".............o....................................", "............o.....................................", "...........o......................................", "..........o.......................................", ".........o........................................", "........o.........................................", ".......o..........................................", "......o...........................................", ".....o............................................", "....o.............................................", "...o..............................................", "..o...............................................", ".o................................................", "o................................................."}
Returns: 625
{"......................", ".....o................", "......................", "......................", ".............o........", "......................", ".o....................", ".......o..............", "......o...............", "......................", "......................", "..............o.......", ".........o............", "......................", ".....................o", "......................", "......................", "..........o...........", "o.....................", "....................o.", "......................", "......................", "...............o......", "......................", "..................o...", "................o.....", "...........o..........", "..o...................", "......................", "........o.............", "...................o..", "......................", "............o.........", "....o.................", "......................", ".................o....", "......................", "......................", "......................", "......................", "......................"}
Returns: 188
{"o.....", "..o...", "......", "......", "......", "......", "...o..", "......", ".....o", ".o....", "......", "....o.", "......"}
Returns: 21
{"....................", "....................", "....................", "....................", "...o................", "....................", "....................", "....................", "....................", "..................o.", "...........o........", "..........o.........", "....................", ".....o..............", ".................o..", "....................", "..o.................", "....................", "........o...........", "....................", "....................", "..............o.....", ".o..................", "....................", "....o...............", "....................", "....................", ".........o..........", "....................", "....................", "....................", ".......o............", "....................", "...................o", "............o.......", ".............o......", "...............o....", "....................", "....................", "................o...", "......o.............", "o...................", "....................", "....................", "...................."}
Returns: 202
{".............", ".......o.....", ".............", ".............", ".............", "...........o.", "...o.........", ".............", "..o..........", ".............", "....o........", "........o....", "............o", ".............", ".........o...", ".............", ".............", ".............", ".............", ".............", "......o......", ".....o.......", "............."}
Returns: 50
{".................o.....", "...............o.......", "..........o............", ".......................", ".......................", ".......................", ".....................o.", ".......................", ".............o.........", "......................o", ".......................", ".......................", ".......o...............", "................o......", ".......................", "............o..........", ".......................", ".......................", "..................o....", ".......................", "...................o...", "......................."}
Returns: 71
{"...........", "...........", "...........", "...........", "...........", "...........", "...o.......", "...........", "...........", "...........", "o..........", "...........", "...........", "..........."}
Returns: 6
{".....o............", "..................", "..................", "....o.............", "o.................", "..................", ".................o", "..................", "........o.........", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "..................", "............o.....", "..................", ".......o..........", ".o................", "................o.", "..................", "..................", "..............o...", "...o..............", "..................", ".................."}
Returns: 112
{"..o", "...", "...", "...", "...", "o..", ".o.", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "...", "..."}
Returns: 6
{"...........................................", "...........................................", "......o....................................", "..........................................o", "...........................................", "o..........................................", "...........................................", "............o..............................", "...........................................", "...........................................", ".....................o.....................", "........................o..................", ".....................................o.....", "...........................................", ".................o.........................", ".........................................o.", "...........................................", ".............................o.............", "..o........................................", "...........................................", "............................o..............", "...........................................", "...........................................", "...........................................", "...........................................", "...........................o...............", "....o......................................"}
Returns: 202
{".....................", ".................o...", ".....................", "............o........", ".....................", ".....................", ".o...................", ".....................", ".....................", ".....................", ".....................", "..........o..........", "....................o", ".....................", "..................o..", "...........o.........", ".....................", ".....................", "...o.................", "o....................", "........o............", "..o..................", ".....................", ".....................", ".....................", ".....................", ".....................", "...................o.", ".....................", ".......o.............", ".....................", "...............o.....", "..............o......", ".........o...........", ".....................", ".....................", ".....o...............", ".............o.......", ".....................", ".....................", "................o....", ".....................", "......o..............", "....................."}
Returns: 213
{"...............o.....", "................o....", ".....................", ".....................", ".....................", "......o..............", ".....o...............", "...........o.........", "...................o.", ".....................", ".....................", ".....................", ".....................", ".........o...........", ".....................", ".................o...", "..............o......", ".....................", "..o..................", ".....................", "...o.................", ".....................", ".......o.............", ".............o.......", ".o...................", "............o........", "..................o.."}
Returns: 135
{"..........................................", "......................o...................", "..........................................", "......o...................................", "..............o...........................", "...............................o..........", "..........................................", "............o.............................", "...o......................................", ".........................................o", "..........................................", "..........................................", "...........o..............................", "..........................................", "..........................................", ".........................................."}
Returns: 83
{".............................................o", "..............................................", "........................o.....................", "..............................................", "..............................................", "..............................................", "......................................o.......", "..............................................", "......o.......................................", "..............................................", "..............................................", "..............................................", "....o.........................................", "..............................................", "..............................................", "..............................................", "..............................o...............", "....................o.........................", "...................................o..........", "..............................................", "...o..........................................", "..............................................", ".........o....................................", ".........................................o....", "..............................................", ".........................o....................", "...................o..........................", "..............................................", "..............................................", "..........o...................................", "..............................................", "..............................................", "........................................o.....", "...........o..................................", ".....................o........................"}
Returns: 269
{".o", "..", "o.", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", "..", ".."}
Returns: 2
{".......................................", "...................o...................", "..................o....................", ".......................................", "......................................."}
Returns: 1
{"...o....", ".o......", "........", ".....o..", ".......o", "o.......", "........", "..o.....", "....o...", "........", "........", "........", "......o.", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........"}
Returns: 24
{"...............................", "......o........................", "...............................", "...............................", "...............................", "...............................", ".....o........................."}
Returns: 5
{".......o", ".o......", "........", "......o.", "........", "...o....", "........", "o.......", "..o.....", "........", "....o...", ".....o..", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........", "........"}
Returns: 27
{".......................o.........", ".....................o...........", ".................................", ".................................", "................................o", ".................................", "...................o.............", ".................................", ".................................", "...o............................."}
Returns: 41
{"....o.", "..o...", ".....o", "......", "o.....", "......", "......", "......", "...o..", "......", ".o....", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......", "......"}
Returns: 19
{"o"}
Returns: 0
{".o", ".."}
Returns: 0
{"..........................o.......................", ".........................o........................", "..............................................o...", "..........o.......................................", "..............................o...................", "...................................o..............", "...........o......................................", "................................o.................", "................o.................................", "............................o.....................", ".........................................o........", "..............o...................................", ".o................................................", ".................................................o", "..........................................o.......", "................................................o.", ".......o..........................................", ".................o................................", ".............................o....................", ".............o....................................", "......o...........................................", "............o.....................................", ".....o............................................", ".....................o............................", "....................................o.............", ".......................................o..........", "o.................................................", ".....................................o............", "....o.............................................", "...............o..................................", "...............................................o..", "...............................o..................", "........o.........................................", "..................................o...............", ".............................................o....", "...........................................o......", "...........................o......................", "......................o...........................", "..................o...............................", "........................................o.........", ".................................o................", "..o...............................................", "............................................o.....", ".........o........................................", "........................o.........................", "...................o..............................", "....................o.............................", ".......................o..........................", "......................................o...........", "...o.............................................."}
Returns: 625
{"............................................o.....", "...............................................o..", ".............................o....................", "...................................o..............", "...............o..................................", ".................o................................", ".....o............................................", "......................................o...........", "....................................o.............", "........................o.........................", ".....................................o............", "..........................................o.......", "............o.....................................", ".....................o............................", "..o...............................................", ".............o....................................", ".......................................o..........", ".o................................................", "..............................o...................", "................................o.................", ".........................................o........", "..................................o...............", "...........o......................................", ".................................................o", "........o.........................................", "..............................................o...", "............................o.....................", "o.................................................", "......................o...........................", "....o.............................................", "........................................o.........", ".........................o........................", "...................o..............................", "...........................o......................", "...............................o..................", ".......o..........................................", ".................................o................", "..........................o.......................", "..................o...............................", "...o..............................................", "...........................................o......", "......o...........................................", "................................................o.", ".......................o..........................", ".........o........................................", "................o.................................", "..........o.......................................", ".............................................o....", "....................o.............................", "..............o..................................."}
Returns: 625
{"o....", ".....", "....o"}
Returns: 5
{".....o...", "o........"}
Returns: 5
{"...............................................o..", "..................................................", ".......o..........................................", "..............o...................................", "..................................................", ".....................o............................", ".............o....................................", "............................................o.....", "........................................o.........", "..................................................", "..................................................", "...................o..............................", "..................................................", "..................................................", "..................................................", ".....o............................................", "..............................o...................", "...................................o..............", "..................................................", "..................................................", "..................................................", "..................................................", "..................o...............................", "..................................................", "...o..............................................", "....o.............................................", "..................................................", ".....................................o............", "...........................................o......", "..................................................", ".................o................................", "......................o...........................", "..................................................", "..................................................", "..................................................", "........o.........................................", "................................o.................", "o.................................................", "..................................................", ".......................................o..........", "............o.....................................", ".........................o........................", "..................................o...............", "..................................................", "................................................o.", "..................................................", "......................................o...........", "..................................................", "................o.................................", ".o................................................"}
Returns: 552
{"..................................................", "........................................o.........", "..............................................o...", "..................................................", ".............o....................................", "..................................................", "..................................................", "..................................................", ".....................o............................", "..................................................", ".................................o................", "..................o...............................", "..................................................", ".o................................................", ".........................o........................", "..................................................", "..............o...................................", "..................................................", "......................o...........................", "...............................................o..", ".................o................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..........................................o.......", "..................................................", "...................o..............................", "..................................................", "..................................................", "...........o......................................", ".............................................o....", ".........o........................................", "..................................................", "..................................................", "..................................................", ".......................................o..........", "................................................o.", "..................................................", "..................................................", "...o..............................................", "..................................................", ".......................o..........................", "....o.............................................", "..................................................", "........................o.........................", "................................o.................", ".................................................."}
Returns: 470
{"..................................................", "...........o......................................", "..................................................", "..........................................o.......", "..................................................", "..................................................", "....o.............................................", "............o.....................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................................o...", "..................................................", "..................................................", "..................................................", "..................................................", ".................o................................", "..................................................", ".....................................o............", "..................................................", "..................o...............................", "................................................o.", "..................................................", "..................................................", "o.................................................", "...........................................o......", "..................................................", "......................................o...........", "..................................................", "........o.........................................", "..................................................", "..................................................", "..................................................", "........................................o.........", ".....................o............................", "......................o...........................", "..................................................", "..................................................", "..............................o...................", "..................................................", ".......................................o..........", "..................................................", ".o................................................", "..................................................", "...o..............................................", "...................................o..............", ".................................................."}
Returns: 445
{"........o.........................................", "..................................................", "..................................................", "..................................................", "......................................o...........", "............o.....................................", "............................................o.....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................o....................", "................o.................................", "..................................................", ".................o................................", "..................o...............................", "..................................................", "...........................................o......", ".o................................................", ".....................o............................", "..............................o...................", "..................................................", "..................................................", ".........................o........................", ".............o....................................", "...............................o..................", ".......o..........................................", "..................................................", "..................................................", ".........o........................................", "..................................................", "....................................o.............", "...................o..............................", "..................................................", "...............o..................................", "...o..............................................", "..................................................", "...........o......................................", ".......................................o..........", "..................................................", ".................................................o", "..................................................", "..................................................", "................................o.................", "..........................o.......................", "..............................................o...", "..................................o...............", ".....o............................................", ".........................................o........"}
Returns: 509
{".............................o....................", "............................o.....................", "..................................................", "..................................................", "..................................................", "..................................................", "o.................................................", "...................o..............................", "............o.....................................", "...............o..................................", "..................................................", "..........................................o.......", "...........................o......................", "..................................................", "..o...............................................", "..................................................", "...........o......................................", "......o...........................................", "..................................................", "..................................................", ".................................................o", "..................................................", "..................................................", "..................................................", "...............................o..................", "..................................................", ".....................................o............", "...........................................o......", "..................................................", ".........................o........................", ".......o..........................................", "..................................................", "................................................o.", ".........o........................................", "..................................................", ".......................................o..........", "..............................o...................", "..................o...............................", "..................................................", "................o.................................", "..................................................", "..................................................", "..................................................", "...o..............................................", "......................o...........................", "........o.........................................", "..................................................", "..................................................", "........................o.........................", "..........................o......................."}
Returns: 490
{"...............................o..................", "..................................................", "..................................................", "...........................................o......", "..................................................", "..................................................", "..................................................", "....................o.............................", ".....................................o............", "..................................................", ".............................................o....", "..................................................", "..o...............................................", "................................................o.", "..................................................", "..................................................", "..................................................", "..........................................o.......", ".........o........................................", "..................................................", "..................................................", "........................................o.........", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..............................................o...", "......o...........................................", "...o..............................................", "..............................o...................", "..............o...................................", ".......................o..........................", "................................o.................", "..................................................", "........................o.........................", "..................o...............................", ".............o....................................", "..................................................", ".......o..........................................", "..................................o...............", "..................................................", "..................................................", "..................................................", "..................................................", ".o................................................", "...............o..................................", ".................................................o", ".................................................."}
Returns: 487
{"........................o.........................", "..................................................", "...........................................o......", ".................................................o", "..............................................o...", ".....................o............................", "..........................o.......................", "..................................................", "..................................................", "..................................................", "...................................o..............", "..................................................", "....o.............................................", "......................................o...........", "........................................o.........", "......o...........................................", "..................................................", "............o.....................................", ".............o....................................", ".....o............................................", "..................................................", ".................................o................", "..o...............................................", "..................................................", "..................................................", "..................................................", "...............................................o..", "..................o...............................", "................................................o.", "..................................................", "...o..............................................", "..................................................", "..................................................", "..........................................o.......", "..................................................", "..................................................", ".............................................o....", "..................................................", "..................................................", "....................................o.............", "..................................................", "..................................................", "..................................................", ".........................o........................", "......................o...........................", "........o.........................................", "..................................................", "..................................................", "................................o.................", ".................................................."}
Returns: 512
{".........o........................................", "..o...............................................", "..............................o...................", "..................................................", ".....o............................................", "..............................................o...", "..................................................", "..................................................", "..................o...............................", ".......o..........................................", "..................................................", "..................................................", ".......................o..........................", "o.................................................", "..........................................o.......", "............o.....................................", "...o..............................................", "...............................o..................", "................o.................................", ".................................................o", "..................................................", "..............o...................................", "..................................................", "..................................................", "........................o.........................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".............................o....................", "..................................................", ".................................o................", "..................................................", "..........................o.......................", "................................................o.", "..................................................", "..................................................", ".........................o........................", "..................................................", "..................................................", "..................................................", "..................................................", ".....................o............................", ".............o....................................", "............................o.....................", "..................................................", "......................................o...........", "...................o..............................", ".................................................."}
Returns: 472
{"......................................o...........", "..................................................", ".....................................o............", "..................................................", "...............................o..................", "..................................................", "..............o...................................", ".............o....................................", "..................................................", "..................................................", "..................................................", ".............................o....................", "..................................................", "..................................................", "......................o...........................", "..................................................", "........................................o.........", "..................................................", "..................................................", "..................................................", "..................................................", "............o.....................................", "..................................................", "..............................o...................", "..................................o...............", "..................................................", ".....................o............................", "...................................o..............", "................................................o.", "...........o......................................", "..........................o.......................", ".........o........................................", "..................................................", "...............o..................................", ".................................................o", ".................................o................", "..................................................", "...................o..............................", "..................................................", "..................................................", "................................o.................", "..................................................", ".o................................................", ".............................................o....", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "....................o............................."}
Returns: 390
{"o.................................................", "..................................................", "......o...........................................", "..........o.......................................", "............................o.....................", "..................................................", ".........................................o........", ".........................o........................", ".................................o................", "..........................o.......................", ".......o..........................................", "..................................................", "..................................................", "............................................o.....", "..................................................", ".......................o..........................", "..................................................", "...........................o......................", ".......................................o..........", "..................................................", "....................................o.............", "..................................................", "........................o.........................", "................................o.................", "..................................................", "..............................................o...", ".....................................o............", "..................................................", "..................................................", "......................................o...........", "..................................................", "............o.....................................", "................................................o.", "........................................o.........", "..................................................", "..................................................", "..................................................", "........o.........................................", "..................................................", "..................................................", "..................................................", "..........................................o.......", "..................................................", "..................................................", "..................................................", ".................o................................", ".................................................o", "..............o...................................", "...................o..............................", ".................................................."}
Returns: 492
{"...........................................o...", "...............................................", "...............................................", "...............................................", ".......................................o.......", "...............................................", ".................................o.............", ".........o.....................................", "...............................................", "......o........................................", "................................o..............", "...............................................", "...............................................", ".............................o.................", "..o............................................", "..................o............................", "...............................................", "..............................o................", ".....................................o.........", "...............................................", ".....................o.........................", "...............................................", "...........................o...................", "..............o................................", "..............................................o", "...............................................", "............................o..................", "..........o....................................", "........................................o......", "...............................................", "...................................o...........", "...............................................", "...............................................", "...............................................", "...............................................", ".o.............................................", "...........o...................................", "...............................................", "...............................................", "......................................o........", "o..............................................", "...............................................", ".........................o.....................", "...............................................", "...............................................", "...............................................", "...............o..............................."}
Returns: 405
{".....o...........", ".................", "......o..........", ".................", "................o", ".................", ".................", ".................", ".................", "........o........", ".................", ".................", ".................", ".........o.......", "................."}
Returns: 28
{"....o......................................", "..........o................................", "...........................................", ".............o.............................", ".....o.....................................", ".......................o...................", "...........................................", ".......................................o...", "...........................................", "................o..........................", "...................................o.......", "...........................................", "...........................................", "o..........................................", ".o.........................................", "..o........................................"}
Returns: 132
{"........................................", "........................................", "........................................", "........................................", "....................o...................", "...o....................................", "........................................", "........................o...............", "............................o...........", "........................................", "........................................", "..................................o.....", "........................................", ".................................o......", "........................................", "........................................", "........................................", "........................................", "........................................", "........o...............................", "........................................", "........................................", "...........................o............", "........................................", "........................................", "..........o.............................", "........................................", "........................................", "........................................", ".o......................................", "........................................", "...................................o....", "............o...........................", ".........o..............................", "....o...................................", "...................o....................", "......................................o.", "........................................", "........................................", "..............................o.........", "........................................", "........................................", "...........o............................", "......................o.................", "......o.................................", "o.......................................", "........................................"}
Returns: 357
{"..........................................", "..o.......................................", "............o.............................", "...........o..............................", ".......................................o..", "....................................o....."}
Returns: 62
{"..........................................", "..........................................", "..................................o.......", "........o.................................", ".....o....................................", "..........................................", ".......o..................................", "...............................o..........", "..........................................", "......................o...................", "..........................................", "..........................................", "..........................................", "..........................................", "............................o............."}
Returns: 82
{"....................o..............", "............................o......", ".....o.............................", "........................o.........."}
Returns: 27
{"...................o....."}
Returns: 0
{"...............................................", "...............................................", "...................................o...........", "...............o...............................", "...............................................", "...........o...................................", "...............................................", "...............................................", ".......................................o.......", "...............................................", ".............................................o.", "...............................................", "...............................................", "........................o......................", ".o.............................................", "...............................................", "...............................................", "..............................................."}
Returns: 107
{"..o..", "....o", "...o.", ".o...", ".....", "o....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", ".....", "....."}
Returns: 7
{"...o..........................", "............................o.", ".o............................", "............o.................", ".................o............", "......................o.......", "......o.......................", "....o.........................", "...............o..............", ".......................o......", "...........................o..", ".......o......................" }
Returns: 99
{"...o", "..o." }
Returns: 1
{"o.......", "........", "..o.....", "........", "....o...", "........", "......o.", ".......o" }
Returns: 16
{".o...", "..o..", "....o" }
Returns: 3
{"o..........", "..o........", ".......o...", "...........", "...........", "...........", "........o..", "..........." }
Returns: 16
{"...............o", ".............o..", ".....o.........." }
Returns: 10
{"o....", ".o...", "..o..", "...o.", ".....", ".....", ".....", ".....", ".....", "....o" }
Returns: 11
{".o.", "...", "o..", "..o" }
Returns: 3
{"o...", "....", "..o.", "...o" }
Returns: 4
{"o.....", "......", "...o..", "..o...", ".....o" }
Returns: 7
{"....o......", "...........", "..o........", "...........", "o..........", "...........", "..........o", "...........", "........o..", "...........", "......o...." }
Returns: 27
{"o.................................................", ".o................................................", "...................o..............................", "....................o.............................", ".............................o....................", ".........................o........................", "..........................o.......................", "...........................o......................", "............................o.....................", "................................................o.", ".................................................o", "................................o.................", ".................................o................", "..................................o...............", "...................................o..............", "....................................o.............", "............o.....................................", ".............o....................................", "..............o...................................", "...............o..................................", "................o.................................", ".................o................................", "..................o...............................", ".....................................o............", "..o...............................................", "...o..............................................", "....o.............................................", ".....o............................................", "......o...........................................", ".......o..........................................", "........o.........................................", ".........o........................................", "..........o.......................................", "...........o......................................", "......................................o...........", ".......................................o..........", "........................................o.........", ".........................................o........", "..............................o...................", "...............................o..................", "..........................................o.......", "...........................................o......", "............................................o.....", ".............................................o....", "..............................................o...", "...............................................o..", ".....................o............................", "......................o...........................", ".......................o..........................", "........................o........................." }
Returns: 625
{".o", "o." }
Returns: 1
{"................o...........................", "...........o................................", "..o.........................................", "............................................", ".........................o..................", "................................o...........", ".............................o..............", ".....................o......................", "......................................o.....", "...................................o........", "........o...................................", "............................................", ".....o......................................", "............................................", "..............o.............................", "..........................................o.", "............................................", "........................................o...", "............................................", ".................o..........................", "............................................", "............................................", "o...........................................", "............................................", "...........................................o", "............................................", "............................................", "............................................", "............................................", "............................................", "..................................o.........", "............................................", "............................................", "....................................o.......", "...............o............................", ".........................................o..", "............................................", ".....................................o......", "............................................", "............................................", "............................................", "............................................", "...o........................................", "............................................", "............................................", ".................................o..........", "...............................o............" }
Returns: 455
{".........", "....o....", "........." }
Returns: 0