Problem Statement
You have a rectangular chessboard divided into unit squares. Each square is either empty or contains a rook. You are given the
We say that two rooks attack each other if and only if all the following conditions are satisfied:
- The rooks are of different colors.
- They are in the same row or in the same column.
- There are no other rooks between them.
You are going to color all the rooks. We say that a coloring of rooks is friendly if no two rooks attack each other. You want to produce a friendly coloring. What is the maximum number of distinct colors you may use?
Definition
- Class:
- FriendlyRooks
- Method:
- getMinFriendlyColoring
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int getMinFriendlyColoring(String[] board)
- (be sure your method is public)
Constraints
- board will contain between 1 and 20 elements, inclusive.
- Each element of board will contain between 1 and 20 characters, inclusive.
- All the elements of board will contain the same number of characters.
- Each character of each element of board will be 'R' or '.'.
Examples
{".R.R", "R.R.", ".R.R"}
Returns: 2
The friendly coloring shown below uses two colors (denoted 1 and 2). We can show that there is no friendly coloring with more than two colors. .1.1 2.2. .1.1
{"RRRRRRRRRRRRRRR"}
Returns: 1
All rooks must share the same color.
{"...............", "...............", "...............", "...............", "...............", "..............."}
Returns: 0
{"....R..........", ".R...........R.", "....R..........", ".R........R....", "....R..........", "....R.....R...."}
Returns: 1
{"R.........R", ".R.......R.", "..R.....R..", "...R...R...", "....R.R....", ".....R.....", "....R.R....", "...R...R...", "..R.....R..", ".R.......R.", "R.........R"}
Returns: 6
{"R.................R.", "..............R.R...", "..R.......R.........", ".............R.R....", "............R......R", "............R.....R.", ".RR.................", "...R..R.............", ".R...............R..", ".....R..R...........", "..........R........R", "R..R................", "...........R.....R..", "...........R....R...", "....................", "........R......R....", "....R........R......", ".....R........R.....", "......RR............", "....R..R............"}
Returns: 1
{"...............RR...", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "R.R.................", "....................", ".RR.................", ".R.............R....", "....................", "....................", "R..........R........", "....................", "...........R....R...", "...................."}
Returns: 1
{"......R..R..........", "R...R...............", "........R.....R.....", "....................", ".......R......R.....", "....................", "................R.R.", "....................", ".R.................R", ".R.....R............", "R.........R.........", "....................", ".........R......R...", "....................", "...............R...R", "........R.R.........", "............R.....R.", "....................", "............R..R....", "....R.R............."}
Returns: 1
{"R.R.................", "....................", ".R..........R.......", "....................", "....R.R.............", "R......R............", ".....R.....R........", "....................", ".R..............R...", "......R...........R.", ".........RR.........", "....................", "........R...R.......", "....................", "..R........R........", "........R.........R.", "..........R.....R...", ".....R...R..........", "....R..R............", "...................."}
Returns: 1
{"............R.R.....", "....................", "..R..R..............", "R..................R", "....R.....R.........", "R...............R...", "...............RR...", "....................", "....................", "....................", "..............RR....", "....................", "........R...R.......", "....................", "....................", "....................", "........R.R.........", ".....R.............R", "....................", "..R.R..............."}
Returns: 1
{"."}
Returns: 0
{"R"}
Returns: 1
{"RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR", "RRRRRRRRRRRRRRRRRRRR"}
Returns: 1
{"....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "....................", "...................."}
Returns: 0
{"R..................R", ".R................R.", "..R..............R..", "...R............R...", "....R..........R....", ".....R........R.....", "......R......R......", ".......R....R.......", "........R..R........", ".........RR.........", "..........R.........", ".........R.R........", "........R...R.......", ".......R.....R......", "......R.......R.....", ".....R.........R....", "....R...........R...", "...R.............R..", "..R...............R.", ".R.................R"}
Returns: 1
{"R.................R", ".R...............R.", "..R.............R..", "...R...........R...", "....R.........R....", ".....R.......R.....", "......R.....R......", ".......R...R.......", "........R.R........", ".........R.........", "........R.R........", ".......R...R.......", "......R.....R......", ".....R.......R.....", "....R.........R....", "...R...........R...", "..R.............R..", ".R...............R.", "R.................R"}
Returns: 10
{"R...................", ".R..................", "..R.................", "...R................", "....R...............", ".....R..............", "......R.............", ".......R............", "........R...........", ".........R..........", "..........R.........", "...........R........", "............R.......", ".............R......", "..............R.....", "...............R....", "................R...", ".................R..", "..................R.", "...................R"}
Returns: 20
{"R.........R.R.......", "......R........R....", "....R..........R..R.", "....................", "....R...R.......R...", "..R...............R.", "........R.....R.....", "..R...........R.....", ".......R....R...R...", "......R..R.......R..", "....RR........R.....", "R..R................", ".R..........R..RRR..", "....................", "...........R.....R..", "....R.....R.........", "R......R............", "....................", ".R...R..............", "...R.......R........"}
Returns: 1
{"....................", ".R..R...............", ".........R..R.......", "R...................", ".....R..R.......R...", "....................", "....................", "....................", "................R...", "............R.......", "R...................", "....................", ".R..R...R...........", "....R.......R...R...", "..........R..R.....R", "......R..RR.........", ".............R..RR..", "....................", "R.....R.............", "R..................R"}
Returns: 1
{"..R.....R...........", ".......R.R..........", "...............RR...", "..R.............R...", "....R.............RR", "....R......R........", "......R..........R..", "...........R.R......", "...............R..R.", "R..R................", "RR........R.RR.R....", ".R........R.........", "R..R.......R......R.", ".......RR...........", ".....RR.............", "........R.R.RR......", "R.............R.....", ".....R...R..........", "..............R....R", "..........R......R.."}
Returns: 1
{"R..RR...R..R....R...", "....................", "....................", "..........R....R....", "....................", "....................", "...........RR.......", "....................", "R.........R.R.......", "....................", "......R.....R..RR...", "....................", "R...................", "R..............R....", "....................", "....................", "....................", "....................", "....................", "...................."}
Returns: 1
{"..R..........RRR....", "....................", "....................", "................R...", "..R........R........", "R.........R.........", "....................", "..............R.R...", "....................", "R....R..........R...", "........R.........R.", "...............RR...", "..........R.........", "....................", "R...................", "....................", ".....R......R.....R.", "........R.R.........", ".....R.....R........", "...................."}
Returns: 1
{"RR..R.R.....R.R..", "..R..............", "R...RR..........R", "...R.R.....R.....", "....R...R...RR...", ".......R..R.R....", "RR..R.......R....", "R.......R.R....R.", "...R....R.RR.....", "R.R........R....R", "...R.............", ".....R..RR.......", "...R....RR.......", "......R..R.....R.", "....R...R........", "...R............."}
Returns: 1
{".RRR..R..RRRR..R.", ".................", "..R...........R.R", "..........R...R..", "....R.....RR.....", "..R....R.........", "R......RR.....R..", ".................", "..R.R.R.R.R..R..R", ".................", "...............R.", "R................", "..R..RR......R.R.", ".R.R.....R......R", ".R.R...R.R.......", ".....R..R........"}
Returns: 1
{"R.....R..RRRRR..R.", "..................", "....R.............", "R....R..R.RR....R.", "....R........R.R..", "R.....R.....R...R.", "R.RR..R.........R.", "............R.....", "R...........R.....", "R..........R......", ".........RR.......", "R..R..R...R.......", "R.R.R....R.....RR.", "......R.R..R..R...", ".................."}
Returns: 1
{"R.R..R..R.R...R", "............R..", "R..R......R....", "R.R...R..R.R...", "...............", ".....R.........", "..........R....", "...............", "...............", ".........R.....", "...R.....R..R.R", "...............", ".....R...RR.R..", "...............", "..........R...R"}
Returns: 1
{"RRR.R.R...RRR.R.", "....R....R......", "R.............R.", "R...............", "....RR...R......", "................", "..R..R.....RR...", "........R.......", ".....R..........", "...R............", "............RRR.", "................", "R.....R...R.....", "R...R...........", "..........R.R...", "......R...R....."}
Returns: 3
{"R..RR..R.R..R.R.", "......R.........", "................", "................", "....R........R..", "................", "......R.........", "........R.......", "R......R........", ".....RR.R.......", "R.....R.........", "..R.R...........", "...R.........R..", "....R...........", "........R......."}
Returns: 1
{"..R.......R....", "R....RR........", "......R...R....", "...............", "...R........R..", "...............", "..R......R.....", "......R.....R..", "..R..R.........", "R...R..........", "..R............", "......R.....R..", "R..R...........", "...R...........", "R........RR....", "...............", "...R........RR.", "............R..", "..............."}
Returns: 1
{"......R...R.R..", ".........R..R..", ".........R..R..", "...R...........", ".......R.......", ".........R.....", ".......R.......", "R...........R..", "...R......R....", "R...R.......R..", "RR..........R..", "...............", "...............", "R..............", "..........R.R..", "R..R...........", "..R....R.....R."}
Returns: 2
{"RR...R....RR..R..", ".R.......R.......", "..........R.R....", "..........R......", "R.....R....R.....", ".R...R.R......R..", ".......R...R.....", "......R.R.....R..", ".....R...R....R..", ".........R..R.R..", "...R.............", "..........R......", "..RR.............", ".................", ".....R...........", ".................", ".........R......."}
Returns: 2
{"..............R", "...R..R........", "....RR.........", "......R.......R", "......R........", "R........R.RR..", "..R......RR....", "......R........", "R..............", "...R.R..R....R.", "......R........", "R........R.....", "......R........", "...............", "......R........", "........R.R....", "...............", "...............", "....R.......R.."}
Returns: 1
{"R...R............", ".................", ".................", ".................", ".................", "R................", ".................", ".................", ".................", "..R..............", "...RR........R...", ".................", ".................", ".................", "................."}
Returns: 2
{"R...R.........R", "...............", "..R............", "...............", "...............", ".....R.........", "...............", "...............", "...............", "...............", "......R........", "...............", "...............", "...............", "..............."}
Returns: 4
{"R..............", "...............", "............R..", "...............", "...............", "...............", "...............", "...............", "R..............", "R..........R...", "...............", "...............", "...............", "...............", ".....R........."}
Returns: 3
{"...............", "...R...........", "...............", "...............", "...............", "...............", "..........R....", "...............", "..........R...R", "............R..", "...............", "...............", "...............", ".....R.........", "R...........R..", "..............."}
Returns: 4
{".......R.....R.....", "...................", "...................", ".................R.", "...................", "...................", "...................", "..............R...R", "...................", "....R..............", "...................", "...................", "..R..R.............", ".........R.........", "...................", "...................", ".......R..........."}
Returns: 6
{"R.RRRR...RR.R.R", "R.....R....RR..", "...R..R.RRR....", "R.......R...RR.", "..........R....", ".....RR.....R.R", "....R..R.RR....", "............R..", "R....R......R..", "R....R......R..", "....R..R..R.RR.", "RR....R........", "R....R...R..R..", "R....R.R.......", ".R.......RR..R."}
Returns: 1
{"RR.R..RRRRR.R.RRR", ".....R...........", "..RRR.......RR...", "........RR..R..R.", "R.RR....R......R.", "...R.............", ".R.R.R..R.......R", ".............R...", "RR.RR..R.RR....R.", "RR.............RR", "RR.R.R.......R...", "..R...........R..", "..RRR.R...RR....R", "R......R.R..R....", "..R...R..R...R...", "..R..R...R.......", "........RR.R.RR..", "..R.............."}
Returns: 1
{"R.R.RRR.R..RRRRRR...", "R.......R...R.....R.", "R...R...............", "R..R...RR.....R.R...", "R...........R.......", "R....R..R...R.R.....", ".R..........RR..R...", ".......R....R.R.RR..", "....R...........R...", "R.....R..R......R...", "RR..R...R.R.RR..R.R.", "R...R.......R...R...", "R..........RR.R.....", "R.......RR.........R", "R.......R...R...R..."}
Returns: 1
{"R.RR..R...R.R.RRRR", "R........RR.R.....", "R...........R..R..", "R.....R..R........", "R........R..R.....", "......RR.R.....R..", "......R.R.R.R.R...", "..............R...", "R......R..........", "..R...R.....R.RRR.", "R...R.R.R...R...R.", "....R.......R.....", "R.RR..R..R..R.R...", "...R..R...........", "RR..........R....."}
Returns: 1
{"RRRRRRRRRRRR.R.", "R..R..R........", "R......R.......", "R.......R.R..R.", ".....R..R......", "...R.RR........", "R.R..RR.RR..R..", "R........R.....", "R..R....RR.R...", "R....R.....RR..", "R....RR........", ".R.R...R.R.....", "R..R...R.....RR", "...R...........", "...R.........R."}
Returns: 1
{"..R........R...RR...", "...............RR...", "........R........R..", "......RR............", "....RRRR............", "....RRRRRR..........", "RR....RRRR..........", "RR....RRRR..........", "......RRRR..........", "....................", "....R...R...........", "....RR..............", "....RR..............", ".......RRRR.........", "..R.R..RRRR.........", ".......RRRR.........", ".......RRRR.......RR", "...........R.....RRR", "....................", "...................."}
Returns: 1
{"..RRRRR.....R.......", "..RRRR........RR....", "..RRRR............R.", "..RRRR....R....R.RRR", ".......R..RR..R..RRR", "R.........RR....RRRR", "............RR......", "........R...RR......", "....RRR.............", "..R..RRR............", "....R..............R", ".R....R.............", "RR....RRR..........R", "RR....RR........R.R.", "....................", "..........RR........", "R....R..............", "RRRR................", "RRRR................", "RRRR.......R........"}
Returns: 1
{"....................", "..RR................", "RRRR................", "RRRR..........R.....", "RRRR....RR....R..R..", "RRRR....RR..RR......", "............RR......", "....................", "...........RRR......", "...........RRR......", "R.RR.......RRR...R..", "..RR................", "....................", "....................", "....................", "..................RR", "................RRRR", "................RRRR", "....................", "...................."}
Returns: 1
{"RRRR.......RR..RR...", "RRRR.......RR..RR...", "RRRR................", "RRRR................", "RR.................R", "................R..R", "....................", "....................", "RR..................", "RR..................", "..RRRR..............", "..RRRR..............", "...RRR..............", "....................", "....................", "....................", "........RRRR........", "........RRRR........", "...R....RRRR....R...", "........RRRR........"}
Returns: 1
{"....RRRR...R........", "....RRR.............", "....RRR...RRR.......", "........R.RRR.......", ".RRRRR....RRR.......", ".RRRR...............", "RRRRR...............", "RRRRR...............", "..R....R............", "....................", "R...............R...", "...R......R.........", "..R.........RR......", "...R........RR..R...", "....................", "................RRRR", "R....RR.....RR..RRRR", ".....RR.R...RR..RRRR", "................RRRR", "...................."}
Returns: 1
{"RR.RRR..RRRRRRRR....", "RR.RRR..RRRRRRRR....", "...RRR..RRRRRRRRR...", ".........RRRRRRRR...", "..R....R.....RRRR...", "..R.......RR.RRRR...", "....RR....RR...RR...", "....RR..............", "RR........RR........", "RR......R.RR........", "....R.......R.......", "....................", "......RRR.........R.", "RRR...RR......RR....", "RRR...R.......RRRR..", "RRRR........R.RRRR..", "....RR........RRRRR.", "....RR........RRRR..", "....RRRR............", "....RRR............."}
Returns: 1
{"RR.....RRRRRRR......", "RR....RRRRRRRR......", ".......RRRRRRR......", "..........RRRR...RR.", "R...R.........RRRRR.", "...RRRR.......RRRRR.", "RRRRRRR.......RRRRRR", "RRRRRRR.......RRRRRR", "RRRRRRR.....RRRRRRRR", ".....RR.....RRRRRRRR", "....RR......RRRR....", "....RR......RRRR....", "....RRRR............", "......RR........RR..", "................RR..", "RR..................", "RR..............RR..", "RR..............RR..", "....................", "...................."}
Returns: 1
{"RR..R.RRRRRR...RR...", "RR....RRRRRR..RRR...", "RR......RRRR..R...R.", "........RRRR........", ".......RR.RRRR......", ".......RR.RRRR......", "..........RRRR......", "RR.RR.....RRRR......", "RR.RR...........R...", ".....R....R.........", "....RRRRR..RR.....R.", "....RRRR...RR.......", "RRR.RRRRR.......RRRR", "RRRRRRRR........RRRR", "RRRRR...........RRRR", "R.....R.........RRRR", "....RRR....RR.......", "....RRR....RR...RR..", "RR..RRR.......RRRR..", "RR............RRRR.."}
Returns: 1
{".RRRRR..R...RR....RR", ".RRRRR......RR....RR", "..RRRR..........RRRR", "..RRRR..........RR..", "..RRRR..............", "..RRRR........RRRR..", "..RRRR....R...RRRR..", "..RRRR........RRRR..", ".....R....R...RRRR..", "....................", "..R.........R......R", "...................R", "..........RR....RRRR", "..........RR....RRRR", "........RR......RRRR", "........RRRR....RRRR", "RRRRR...RRRR........", "RRRR....RR..........", "RRRR....RR..RRR.....", "RRRR....RR..RRR....."}
Returns: 1
{"....RRRR..RR..R.R...", "....RRRR..RRR.R.....", "....RRRR.......R....", "....RRRR.......RR...", "RR.RRRR...R....RR...", "RR.RRRR...R.R.......", "...RRRR.......RR....", "...RRRR.......RR....", "RR.............RRRR.", "RR.............RRRR.", "RR..RR.........RRRR.", "RRRRRR.........RRRR.", "RRRR................", "RRRR................", "RRRR............RR..", "......RR..RR....RR..", "......RR..RRRRRR..RR", "R...........RRRR..RR", "............RRRR....", "............RRRR...."}
Returns: 1
{".RR.RRRRRR......RRRR", "RRRRRRRRRR......RRRR", "RRRRRRRRRRRRRR..RRRR", "RRRRRRRRRRRRRR..RRRR", "RRR..RRRR.RRRR..RRRR", "RRR..RRRRRRRRRRRRRRR", "RRR..RRRRRR...RR....", "RR.RRRRRRRR.........", "RR.RR...............", "RR..................", "RR..RRRRRR..........", "RRRRRRRRRR...RR.....", "RRRRRRRRRR...RRRR...", "RRRRRRRRRR.....RR...", "RRRR..RR............", "RRRR.RRR...........R", "RRRR.RRR....RRR.RRRR", "RRRR.RRR....RRR.RRRR", "............RRR.RRR.", "............RRR....R"}
Returns: 1
{"RRRR........RR.RR.RR", "RRRR........RR.RR.RR", "RRRR............RRR.", "RRRR..........RRRRR.", ".....RRRR.RRRRRRRRR.", ".....RRRR.RRRRRRR...", ".....RRRR.RRR.......", ".....RRRR...........", "....RR..RR..RR.....R", "....RR..RR..RR.....R", "RRRRRRRR....RR.RR..R", "RRRRRRRRRRR.RR.RR...", "..RRRRRRRRR.RR..RRRR", "..RRRRRRRRR.....RRRR", "....RRRRRRR.....RRRR", "RRRRRRRRRRR.....RRRR", "RRRRRRRRRR..RRRRR...", "RRRRRRRR....RRRRR...", "RRRR....RR..........", "........RR.........."}
Returns: 1
{"RRRRRRRRR.......RR..", "RRRRRRRRR.......RR..", "RRRRRRR.............", "RRRRRRR......RR.....", "RRRRRRR......RR.....", "RRRRRRR.....RR.....R", "..........RRRR.....R", "..........RRRR..RR.R", "RRRR.RR.RRRRRR..RR..", "RRRR.RR.RRRRRR......", "RRRR.RR.............", "RRRR.RR.............", "RRRR........RR......", "RRRR....RR..RR..RR..", "RRRR....RR......RR..", "RRRRRRR.RRRRR.......", "RRRRRRR...RRR.RRRR..", "RRRRRRRRR.RRR.RRRR..", "RRRR.RRRRRR...RRRR.R", "RRRR.RRRRRR.RRRRRR.R"}
Returns: 1
{"RRRR....RRR.RR..RRRR", "RRRR....RRR.RRRRRRRR", "RRRR....RRRR..RRRRRR", "RRRR......RR....RRRR", "RR..RR..RRRRRR......", "....RR..RR..RR......", "RRRR....RRR........R", "RRRRR...RRR........R", "RRRRR.RRRRR........R", "RRRR..RRRRRR........", "RR..RR....RR........", "RR..RR..............", ".RRRRR....RRRR..RR..", "RRRRRR....RRRR..RR..", "RRRRR.....RRRR......", ".RRRR.RRRRRRRR......", "......RRRRR.RR......", "........RRR.RR......", "RRRR............RR..", "RRRR.......RRR..RR.."}
Returns: 1
{"RRRRRRR.RRRR...RRR..", "RRRRRRR.RRRR...RRR..", "RRRRRRR.RRRR........", "RRRRRRR.RRRR........", "........RRRRRRRR....", "..........RRRRRR....", "......RR..RRRRRR....", "......RRRRRRRRRR....", "....RR..RR..RR.RRRR.", "....RR......RR.RRRR.", ".RRRRR..RR.....RRRRR", ".RRRRR..RR.....RRRRR", "....RR.........RRRRR", "RRRR.RRRR......RRRRR", "RRRR.RRRR......RRR..", "RRRRRRRRR.RRR.RRR...", "RRRRRRRRR.RRR.RRR...", "RRRRRRR...RRR.......", "RRRRRRRRRR..........", "RR....RRRR.........."}
Returns: 1
{"........RR..RR......", "....RRRRRR..RR......", "....RRRR............", "....RRRR............", "....RRRR............", "....................", "....................", "....................", "....................", "....................", "...RRRRRR...........", "...RRRRRR...........", ".....RRRR.....RRRR..", ".....RRRR.....RRRR..", "....................", "....................", "....................", "....................", "....................", "...................."}
Returns: 1
{"............RRRR....", "............RRRR....", "............RRRR....", "............RRRR....", ".......RRRR.........", ".......RRRR.........", ".......RRRR.........", ".......RRRR.........", "....................", ".................RR.", "RRR.....RR......RRR.", "RRR..RR.RR......RR..", "RRR..RR.............", "....................", "....................", "....................", "..............RR....", "..............RR....", "....................", "...................."}
Returns: 2
{"....................", "....................", "...................R", "...................R", "...................R", "....RRRR............", "....RRRR............", "....RRRR............", "....RRRR........RRR.", "................RRR.", "................RRR.", "....................", "RRRR................", "RRRR..............RR", "RRRR..............RR", "RRRR................", "RR......RR..........", "........RR..........", "....................", "...................."}
Returns: 1
{"RRR.....RRRR........", "RRR.....RRRR........", "RRR.....RRRR........", "........RRRR........", "....................", "....RR..............", "....RR..............", "....................", "............RRR.....", "............RRR.....", "............RRR.RRRR", "RR..............RRRR", "RR..............RRRR", "................RRRR", "....................", "................RR..", "........RR......RR..", "........RR..........", "....................", "...................."}
Returns: 2
{"..................RR", "..................RR", "........RR...RR.....", "........RR...RR.....", "....................", "RR..................", "RR..................", "....................", "....................", "....................", "........RRRR........", "........RRRR........", "...RRRR.RRRRRRRR....", "...RRRR.RRRRRRRR....", "...RRRR.....RRRR....", "...RRRR.....RRRR....", "....................", "....................", "....................", "RR.................."}
Returns: 3
{"R...........R.......", "....................", "....................", "....................", "RR..................", "....................", "................R...", "....................", "R....R.........R....", "......R.............", "....................", ".R........R.........", "....................", "....................", "..........R.........", "....................", "....................", "....................", "R...................", "...................."}
Returns: 3
{"R..R.R..........R...", "....................", "....................", "....................", "....................", "....................", "..R.................", "................R...", "......RR......R.....", "....................", "....................", "....................", "....................", ".................R..", "....................", "........R...........", ".R..................", "....................", "....................", "...................."}
Returns: 6
{"..R.........R.......", "....................", "..................R.", "..R.................", "....................", "....................", "....................", "....................", "..............R.....", "...R................", "....................", "....................", "..R.................", "....................", "....................", "R...................", "..R.....R...........", "....................", "......R.............", "......R............."}
Returns: 6
{"R...RR......R.......", "....................", "R...................", "....................", "..........R.....R...", "....................", "....................", "....................", "....................", "..............R.....", "....................", "....................", "..........R.........", "....................", "....................", "....R...............", "............R.......", "....................", "....................", "...................."}
Returns: 3
{"R.RR....R...........", "....................", "R...................", "....................", "....................", "R...................", ".R..................", "....................", "....................", "....................", "....................", "....................", "...............R....", "...........R........", "........R...........", "....................", "R...................", "....................", "............R...R...", "...................."}
Returns: 5
{"....R..........", ".R...........R.", "....R..........", ".R........R....", "....R..........", "....R.....R...." }
Returns: 1
{"R.", ".R", "RR" }
Returns: 1
{".R.R", "R..R" }
Returns: 1