Problem Statement
String[] map = {".........R....", "..............", "...L.....R....", "..............", "...L.....B...."}'.' denotes open road, 'R' denotes right turn, 'L' denotes left turn, and 'B' denotes turn around
You will keep travelling until you leave the map boundaries or loop forever. Assuming you started in the top left hand corner travelling right, in the above example your path would be:
>>>>>>>>>v.... .............. .........v.... .............. ...v<<<<<<.... at this point you hit the B .............. ...v.......... and need to turn around so: .............. ...>>>>>><.... ...v<<<<<<....Note that the turns are always relative to the direction you are going.
Your family has decided that it wants to take the most scenic path possible, in other words, travel to the most number of unique positions on the map. In the above example, starting at the upper left hand corner heading right allowed you to cover these locations:
xxxxxxxxxx.... .........x.... ...xxxxxxx.... marks off all of the squares ...x.......... the car had traveled to. ...xxxxxxx....The total number of x's (unique locations) is 26. Your job is to find the spot and direction on the map you would have to begin at in order to produce the most scenic trip (greatest number of unique locations touched). You will return the number of unique locations touched on the most scenic trip. In the example above, the trip given is the most scenic one, and thus your method would return 26.
If there is a turn symbol in the position where you start it comes into effect immediately. For example:
map = {"R...B"}
If you started at the leftmost point facing right your path would look like:
v....
If you started at the rightmost point facing right your path would look like:
^<<<<
For this example your method would return 5.
A word of caution: loops can occur in the paths chosen. Regardless of whether there is a loop or not, you will always return the number of unique squares you will touch.
Definition
- Class:
- RoadTrip
- Method:
- howMany
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int howMany(String[] map)
- (be sure your method is public)
Notes
- The point you choose must be ON the map, and the directions must be one of the four directions: Up, Down, Left, Right
Constraints
- map must contain between 1 and 30 elements inclusive
- Each element of map will have length between 1 and 30 inclusive
- Each element of map will have the same length
- Each element of map will only consist of letter from the following string (quotes for clarity): "BRL."
Examples
{".........R....", "..............", "...L.....R....", "..............", "...L.....B...."}
Returns: 26
The first example from the problem statement. Heading right from the top left corner is optimal.
{".........R.....R.......", ".......................", ".........B.............", ".......................", ".......................", "..B......R.....R......B", ".......................", ".......................", ".......................", ".........B.....B......."}
Returns: 60
{"...........R...........", ".......................", "..R.......R............", ".......................", ".......................", "..R........R...........", ".......................", ".......................", ".......................", "...R......R............"}
Returns: 56
{"......................R", "R....................R.", ".R..................R..", "..R................R...", "...R..............R....", "....R.............R....", "...R...............R...", "..R.................R..", ".R...................R.", "R.....................R"}
Returns: 230
Starting right from the top left corner spirals arounds the board
{"..........B"}
Returns: 11
{".B.....B"}
Returns: 7
Watch out for loops
{"..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", "..............................", ".............................."}
Returns: 30
{"RR.LBLRL.L.B.B..B.LLLLR","RL.R.BBBLB...LR.R.L.LLR","RRLR....B.LB...LB..RB.L","LR.LBRRBRLRRBR.LB....L.","BRL.BBLBBLR.LLBBBRR.BBR",".LRB...LLRRL..BRLBR.BRR"}
Returns: 25
{"RBRBR.RLBBRBRLRBR.","B.BBLRBRRLBLR.LLRL",".LBBBRRLRRBBB..BB.","LL.BRRR.BBLBB.LLRB","RRLLRR.BLBRLB.LLRB",".R...RL..BRLB.L.BR",".RBBRR.BRBBB.RRRRB","LR.BBBBRLLL.L.LLRB",".BBBRRBRRBBBBRL.R.","L.B.LR..LLL.L.LLLB","B.LRLLRBRRB.R..BR.","R.R..LLB.B.LLRLRBR",".L.L.R...R.RRLRLRL","BBL.RB.LLB.BRBRBL.",".B..LBRB.LLR.RBLRR","RLLL.LR...B.RR.RB."}
Returns: 55
{".BL.BRBLRR..."}
Returns: 4
{"RLBBBL.LLL..BL.R.B","RBLB..LBLLB.B.RBLR","..RL.R.B.BBLLRLBBL","L.BL.LL.BBRRL..B..","LRLBRLLRBLBRB..RBB","RRBR.RRRBB.B.BLRRR",".L.RR...RBLRL.BL..","RLB.LBL..LB....LRR","R..LR.RBBBLRBBL.BR","RRRBBRB.LBLLBRRBL.","BBL.RR.L.BR.LBRRLL"}
Returns: 68
{"LRRB.RR.BBR..BLRBL..BRLRB",".BB..BLRRR.LRL.L.RRL..LRR","BBBLRRBB.R.LLBLLBRBLLRLR.","B.BLR..RL..B.LR.BBBBLRR.L","LBL.B.RBBLB.B...BRRLRBRB.","..B.RB.LRBRRRBB..BBLRRBLL","LRR..RB.BLB.BRLRLLR.R.LBB",".R.RLLBBLLBLRLLLRRBBRRR.B","LBL.LL.RB.BRR..RLBL.RRLBB","B...BLBRBL.LL..LBB..B.B..","BBRRBLRB.LBL..BLRRL.BLRLL","LR.BLBL.L..RRLRB..R.B.RBL","LLLRLLRRRRLBL..BRL.L.BLLB","L.R.BRLBR.BRRR.LB.RB..BLL","BRBL..L..L.B.LBBB.LRBL.R.","RL.RRL.BBRLBLLR.L.LRB.R.B","RBR..R..L.B.RL..LL.L.BBRR",".LBBLRL.LRRB.RRLBRR.LRRB.",".RLBB.RLBBLBBLBB.RLRB..BR","BL.LLBR.RBRR.BLR.B.LLBRBL","LB..R.BB.B.BBLBLRLRLLBRBR","LLRRRB.RRL.LRLRLBLRR.....","BL.BB.B.R.RBLLBLBL.RLLBR."}
Returns: 153
{"RLBL.LBLBR",".RBBLLR.LR","LBL.BLRL..","B..LB...LB","BR..B.B.BB","L.LRBRB..L","RLBBBRB.L.","LR.L.L.LRR","BBRBRR.LB.","BL..BBR.LB","RLB.R.B...","L.RLRLR..B","L.RBLLRRL.","BL...RBR.B",".BRBBBRBB.",".R.RBB....","LRRR...L..","RL..LLBBBB","BLL.BBBRR.","LRBR..RLRR","...RB.B...",".BBL....BL","LBLBRLBL.R","B.RL.LL.RL"}
Returns: 32
{"..RRR.BBRLLBBR..LLR..R.R.R.","RLB.LBBLBBBLLLR.RLRRRLLLBLB","L.LLLBRBR.R.LBBL.LRBB.LL.B.","R....LLR.RR..R..BB..LLRB..R","....B.BLB..RB.B.RRLLRB..BB.","RR.BLLBBLB.B...BRRLRRBR..R.","..LLR..RR.BRRRBR.LL..LLBRRB",".B.L.LRB.RLBRLRRLRRLRLRLRR.","RBL..R.LLLRLLLBRRLLR..BLBR.","LL.RBRBB.LL.LBBB.RR.R.R.LBR","RRRR..BBRRLLRR.RR.LRBLBLLBR","LBRBBLR..BBR.BB.B.RBL.BBBRB","R.LRBBRB.LB...RRRRRLBBRRR.B","RL..R.L...R.LBR.L..BLLBLLR.","LLBRRBRL.RBLBR..RLBB..BB.B.",".RL.B.BLLR..L...BLBLBB.LRLR","BLBLB.B.L.L.BLBRR..LRLR..BB","L..LBR.LLLBLBRRLLLBB.B.R.BL","R.LRRLLLLLLRRL..R.BR.R.B.RR","L.RR.BLBBLLBRLB.BLL....RR.L","BRBRLL...LLL.LLLB.L.LBRRB.B",".BL.BR.R.R.B.L..LBBLLRRLB.L","BRBRR.R...LBB.BBRBRRLBR.LLB","LRLBBR.RRLLL.BRBRBBRRR.RL.L","LLLBLRB..R.L.L.LBRRBRBRBR.B","L.B.BRRB.R.LB.LB.LL.L.BBR.R","B.LRBRBB.LLR.RR.BBRB.RB.L.R"}
Returns: 226
{"RR.LBLB","BL.LRL."}
Returns: 8
{"..LL..BBBR.RRRLB.LL.L","RRLBRBBRR..RRRB...LRR","LLR.BLB.R.LBBB.LBBLB.","R.LLLLLLRBB.RBB.BBRLR","RBRB.BR.RLLBRBLRBRRBR","LLBLRLR.RRRLRRL.BLLRR","L.LBRRRLRL.RLRLRL.LL.","B.LBRRRLLLRL..RB...BB","BR.BLLL.RRBL.LRRL.RR.","..LRL.LBRRLBBR.RLR.BR","R..BRLBLBLB.RRRLB.RLR","RRLBBLB.BB....LBLR.L.",".RLRLLLL.RBRBB.B.B.BB","RRRLRR.BRRLLR...BRL.B","RLB..LBBBRLR..RRB.LLR",".BRRBRLLRRRB.LLRRL..L","B.RLRB..BLLRRB.BBLRLL",".RBB.RBR..BRBR...RRLR","RBRLBLLRRR.RRRR...RBL","RL..RR.LR.R.LLL.LRR.R","...RLBB.L..B...LBRBR.","RL...LLR...LRBL.RRBRB",".BLLBBBL.B.R..RBB.BLB",".RL.LLB.R..L.LRBRBRBR","RLB.RLRRRBB.LR...L.LL","BB.BB.BBLRRBLRRR..BLR","LRR.RLRBBBLRRL.BLL.BB",".RL.RLLRB....LRRRRRL.","B.BR.BBLBB.BRRLBLB.LL","RRL.BRLRLRBBRB.LBLLR."}
Returns: 124
{"LB.RRLL.RLL","R.L..RBRBBR","R.RLR..LR.L","BRBR.LL.LR.","R.RRBRBRBLB","BB.LBRLLRL.",".BB....RBRL","..BL.B.LR.L","RLLBRBLB.RB",".BL....BRBB","R...R.BBLB.","...L.LRLRBB","RBLBBLR.LLL","RLRLRBLBB.B","L.RBLBR.LLR","BRRL.BBR.BL","...LRBR.RR.","RB.BRRRBBB.","RB.B.RLBLRB","LRBB.LRBBLL","LL.BBB..LR.","LBLRLBBRRR.","RBLLR.BL.LL","LLLRRR....."}
Returns: 81
{"BL.L.B.BL",".RLL..BRL",".BRB.LB.R","LR..RRR..","RLB.L..RL","L.....LLL","L.RRR..R.","LB.R..L.B","R.L.BR.BB",".LRL.RRB.","..R.RR..B","LB.LR.L..",".BB.BB..R","L.L.L.B.L","B..LBRL.R","BBL.BLLL.","...RR..B.","RRBRBRB..","RLRL..LBB","BB....RRR","B.L.LRL.B",".R.R.BB.B","LB.L.LL.B","LLRRLBRRB","R..B.B.RR","R.R...BBL","...BRRR.R","...BBBLRB"}
Returns: 76
{"...B.R.BL.L.LBR...RRL",".RBL.....LR..R...RR.L","BBBL.R.R...BLBR.RL.LL","BRL.B.LLB..BR.BR.B.B.","L.RLBLR..LRR...B..R..","BL.R.LLRBR.B.L.L.LB.R","..R...RRRBLLBL.BLB...","BBL.RLBBBB...R.L.B..R","RLLRBR....BB.LLRL.BL.",".LRLBLRR.BR.B..BR.L.R",".RB.L.RRR.BRR..L...L.",".R.RRB.BB.L...L.RLB.R","R..B...LRR..B..RBBLB.",".R.BLR..R..LL.B.BRLR.","RBLBLBLBLBRB.RB..B.LR","..LR.LRLBR....RBLLLL.",".B.LRR..RRLL.L..LB.BR","BR.BLR..RLB..RRL.B...",".BBLBLBR....BBBL.LBLB","LBRRBRL..RBLR...RBBRL",".R.RLB..RR.L..B.BRBBL","R..BLRBLRRRBRLLB..LL.","..R..RL..BLL.LRBB.R.L","..L.LRBB..R...R...R.L","BLBRL..B.R...L.BBBB..","LBB...LB.LL..BR.R.B.L",".LB..RL.B..L..BRR.BBR"}
Returns: 140
{".BB....LBRBBR..R","L...BR.R.LR....L","..BRB...BRL.LLBB",".BRLB.B.RRL..BR.","RRR..L..R..R.B.R","...L..BB.B.BRRBB","..B....L.B...LR.","BBR..RBR.L.B..LR","LR.LLB..RRLBBL..","RRLB.BB.B.LBLB.L","...R.....LBLBR.L","R.RLL..R.L.BBBB.","R.L.BL...R.LL.LL","LB...RRR.RRL.B.B"}
Returns: 57
{"LRLLL.BLL..B..BL..","....BBB.R.BR...BL.","..BL.RBRRB.B....BR","BRRR.L.LRBBBL.BRLB",".LRR.L.RR...BRR.RR",".RLR.B.LLL..LBL..L","...LLLRB..R.R.R..B",".B.B...BR.RLRBBBRB",".R.RB.R.R.RR..B.R.","B..R.R...B.R....RB","BL..B...LRRBRR.RLR","..RLR.BBL..BLB....","B.BRR.L.....BB....","BB.....RL.RBBRRBBR","L.R.LBBLB..BBBRBL.","....LLBRRBLRRL.BLB",".R.B.L.BR.L.RR....","LRR.L.R..R.R.BB..R","LRB.LB..BBLB..LL..","LL.BL...R....L..LB","R.RB...BLLBLBBBL..","L..BBLRB..R.L.R.LL",".LBLLBBB.BRLL...BL",".LLBR..BBBRL.BBBL.","LB.RRLRRBRR.L..R.R",".B.LRBRB..RRL.B.L.",".LBBR.L..RBBB..BRB",".RL.BB.R.......RB.","B.R..RL.BLLR....RB","..R.R..BLRR.BBLBBB"}
Returns: 179
{"LLLL..R.BL.L.R..L"}
Returns: 4
{"RBB.LL.",".R.BRL.","...R.LB","RLR.R..","..R.RBR","LRLRLR.","L..L..L","L..RB..","RB.RLRL","LRR.B..","LLR.LLB","L.B....",".B...LL",".B.B.RL","..B.BLR",".BB.B..","LBB.R.L","BL..L.R","BRRBRBR"}
Returns: 39
{"....RR.BB.LR","LB...R....RB","LLL.L.L..LRR","RBRR...B.RB.",".LB..R..B.R.","RRLB.RLRL.BB","...L..L.LB..","...R..RL.BBR","R.LBRBBLLL..","R..RRL.B.R.L",".R.R..L...BL","L...L...B..R",".R.RRL.R.B.L","..BBLLBRBR.B","B...R.BLBRLL","LR..R..R.RB.",".B.RRRLL.R.B","L.BBRBR...RL","B.L..RL.RL.B","...RLB....LB",".BBLLBR.BRBR"}
Returns: 52
{"....R.R.B","LL.B..RR.","....L.R..","..L..LL..",".RLLR..LB","BBB.B.RRL","RL...RB..","RL.R.RRR.","R..LR..BR","L.R.LLB.L","........L","..BRLB..B","L..BB.BLR","BB.RBBB.L","L.L.L.BL.","LR.B...LL","LB..LRBRL","L.R.L..B.",".B.BRBLRR","B...BBRLB",".R.L..LRR","......LRR","RLB..L.BB","L...LR.R.","L.BBRLL..","LLBBB..RL","LRLLRBR..",".LBRRL.BR","BBLBLBL.."}
Returns: 46
{".BL",".BL","LRB","L..","B..",".RL","...",".R.",".R.","..B","R.B","LRB"}
Returns: 14
{"RB.B...BL.LLBBL.R..L","L.R....BLB.R..BB.RL.","LL.LL.R...LRB.BBRR.L","R.L.RB.RB.LLB..BL.LB",".BB.RR.RL.BLRB.L.LBR",".....B..BRLR...RBBRR","RL.B..LL.RL.BR.RRLBR",".BRBLBR.B...B.LRRRBR","RLL..LLB.BL.R.RRLLLR",".B..BRBBRB.R..R..RLR","R.LR.R...BR.LBLLRLBR","R.L.LB.L.LR...R..B.."}
Returns: 54
{"L.LL.BL.","R.......","RRL...R.",".L.LBR.R","LBL.LR..","RR.LRLB.","B.BB...B",".R...L.L","L.RLL.R.","B.BR...R",".L....LL","..BLRBLB","B.RR.L..","LBL.LB.L","R.R.BRLL","B..R....",".....R.L",".LB..B.B",".BB...RR",".R.R.BRR","RLLB....",".B..BRR.",".R..B..B","BL...R..",".L...BB.","LBL....R","....RRB.",".RBBL..L","..LLRR.B"}
Returns: 39
{"B.....BB....","LB..BB....L.",".B.BL.....L.","RB.BR.B..RLR",".L.RLBRL..B.","RL......BL..","....RR.B...L","RB..LLB.....","B.L.B.BLL...","B.RL.R...LR.","L.L..B.BR..B",".R.LLR...LRL","RRRBRLLRB.RR","LB..L.R..BLR","LRR..B.RLLB.","R...BL..RB.R",".B.L...R...L",".RL..B..LBB.",".RLRLRR.....",".LLLRL.R.B..","....BBL.RRLL","L..RBL...R..",".B.BR..RB..B"}
Returns: 88
{".B...BR..RRR.BR..LRL....BR.",".....RLR.L.RL.R.....LRBBRBL","L.LBBBRLL.LBR.B.BB...LR...B",".R....LB.B..R....L..R....R."}
Returns: 21
{".","L","L",".","B","R","L","B","B",".","B","R",".","L",".","B",".","R","B",".",".","L","L","L"}
Returns: 4
{"LR..BBLR.L..L.RB.","BRL.LL.B.BR..RL..","BRR..R..LL.RR.RBL","..LL.LRRLBLB..R.L",".R.L..LR.RBBB.LRR"}
Returns: 17
{"B..L.B.L.RLR.B....RR..R.","LR..L.L.LL....LRB.BR.RL.","B.R.R.L...LB..RL.BBB..L.",".L....B..RBR..BB....LL.L",".LL..RR.LL.RLB..R.BBR.L.","..L.B...BRL.BR..RBRRL...","LBLLB..R..R..RRLBBBB.LB.","L.B.B.BLRLBRR..LL..BRB..",".B.BBL.LR..B...R.RL.B..B","R.LBBB...B.BR..L..L..BRL","..LB.L.RBRLL.B.B.B..L.L.","L.RL....L.R...R.LBL...B.","R...RLLB.B...L.....RBBL.","LBR.BL.RB..RBLLR.R...LLR",".LLBRR.LR.LB.R.L.B...B..",".RBB.RL...RB.LL.L..RBBBR","BBRRR.RBB..LLRL.B.......",".LLR.L....RBBLL..RB....B","BR.L.....BRR.....B.RR.LR","L...R.....L.B...RRBL..LR","BB....R..L..RRBB..LR..RL","..RRBB.B.BLL.R.L.BRLL.L.","LRR.LBBRL.B.LRR.R..RLR.L","LRR..RB..RB....L.B.....R","R..RL......RBL..LBRRR.LL"}
Returns: 119
{"R","L","B","L",".","R",".","R","B",".","R",".","B","R","L","B",".","L",".","B","B",".",".","R",".","L","R","B",".","B"}
Returns: 4
{"...B...B...R.RR..","R.B..R.RB..RLRBB.","BBRLLLBB...LBRB..","..RLLL......RRRRR","....LRLLBB.B.LL..",".LBBB.RR.B...RRB.","L.BR.BR..R..LR.L.","..R...B..BBLL....","..R.BBBLL..BB...L",".L..B....B..BLBR.","..LRL.RRB..BL..LB","R....BBR...B.LRR.","LB.......BLR.LBL.",".LB...R..........",".L.....BBR.L..L..","L.LL.....LRLR.R..",".LLRR.RB.RBBBB..R","BLLBB..BBRR.R...L","R...RBBB.RL..R...","R..LB.RL..BL.L...",".LBL...B.L.R.....","...RR.....BL..BL.","R..BBB..LL..BRRLB",".BB.RBL....L.L..."}
Returns: 69
{".RB..B.LB..RRR",".B..L........B",".B.B.RRRR.RB..","L.....B.RR.R.B","....LR.LB.R...",".RL....LBLLL.B","..R..L.L.BLRB.","LRB.B..LBLLRLR","BRBR.R...RB...",".BLLR.LRRR..R.","..B..RL.RRB.LB","..BBBLL.R..BLR","..LLRLR.B.....","B.LBB.B.RLB..R",".BR....B..L...","BR..RLL..B.LL.",".B.RLBR.RLL.BL",".B...RLL...B..","..B.RR...R...."}
Returns: 91
{"BRL..B.L..B.RR.R.L.....B.","..B..B....LLLL.....L...B.","RB...RBBLLB.L..RLBBRL..R.","L...BL........L..R....BBL","LLBLR.L..BLLR.RRRR..BLB.R","R.L...LB.R.RLR..R..BRLB..","..L..LB...L....B.L.RB.B.B",".L..L.L..R..LR.B.B..LRB..","B..BL..RBRLR.L.R.B.BB.R.R","RR..LL..L..L.LR.....RB...","RB..LBB...RR..RLB.RR..RB.","R.LR.B..R.L.R..........B.",".B...L..B..L..LRB....BR..","..B.B..R.R.LBB.B....LB.RB",".B.....RLR..R.BRRR...LRBR","R..B.RL.R...BB.LBBB...L..","RBB..L.B.....L..B.R.B.L..","R...L...BLB.B.BBB.L.R.R..","R.BLLLB.R......R.....RR.B",".R........RLB.RRRLBBL.LB.",".R.B...L...B.RRL.L.L..L.B","...BB.......LBR...L.LB...","...B...RRB.R.B.L.....R.BB","LRLL.....BR..B.R..RLLRR.L","...L..R....L..LB.LL.B.LBB","..BLLB.L.R.....RRRRRL...R"}
Returns: 203
{"...L.R..B..R.......","RL...RB..RB.BL.R.RL",".B....L..L....LRLL.","LR..B...R...LB.R..B","L.RB...L.LRLLR.....","..RLR.L..LLR.......","L.R.L.BLB...B.B...B",".B..BB...B..B...B..","RRR...L...BB..L....","B....B.B.R......LLR",".L.BB.B.BRR..R.R..B","..L.B.BR..RB..LRB.R","..BBL.B....L..L.L..",".L..B.RL..RL...R.R.","BL..RRR.RR..LR.L..L","L....LL.B..LBB..B..","..L..L...L.B....B.B","BR...LBR...R.......",".....BB.R..L.BLL.B.",".L.L...RBBRRB...R.."}
Returns: 64
{".R..RB.LR.L...B.B..R....RRLL.","......R.........BL..B.R.R..LL","..RLB..LB.L..LBB..BBB...RR.B.",".....BBLRR..R.B......RR..B..R","L.RL.L.B.LL.RL.BRBR.R.L.LL.L.",".....L..R.BR..R..BB.R.LL....L",".RRL.LB.R..R.LL...BLRRR.L....","..B.......B.....RLL.BL.R.L.R.","...LR...LR.L....BBLB....R...B","RR.R..B...R.R.LB..BBLB.....BR","BL.R..R..B.R.R..B.BBBR.R..R..",".L....B...BR.L....RL.L..B...L","B.LLLB........BBL...L........","RL..BB..B.LB........LL.BLB...","R.R...B.R..L.RLB.......LLBRLB","RL.L..RB......R....B.LR.B.L..","BL.LLLL...RBR.B....L..R..L.L.","..LRB..R.B.L..L.R...LBR.L...B","B...B..B.B.R...L..B..R.B.....","L.LB..RBRL..R......RR.R.B..B.",".B.R....LL.B..LR.....B..R...B","B.BRLB.RL..B...R.....R.B.....","L..L...B..R.L....L..B..B....L","RL...RB..B.R..L.L..R...L..B..","L...R.L...B.L....R....RB.B...",".BBB.BRR.........L....RL.....",".R.RB...L.L.RRBB.L..B..L.RL.R",".....BL....BBB...B...R...L...",".B...RR.LLB.L.RRRLL..BB...R.B","R.R.B.B.RL....BRL...R.BR..LB."}
Returns: 178
{"...LB.RLBB..R.L..RB.....LR","B..RRLLL.L...RB.B....LB..L","L.R.LL..RL..RRB.R..R.RB.B.","...BLR..R.B.LRRBLB.R.BBR.R","...B....BB..BL....BBRBBBLB","R.L....LL...BRB.L.R.B...B.",".....R.L....R..R.LL.B.....","...BLR....R..LRR..L..B..BB","...BB.......R.....R.R.....",".L.RLL.....R...BR...B....B","..BR.B.LLBBB.RLB...R...BB.","...LB..LBB.LB.L.R.RRR.L.B.",".R..B...R.BB...L....L...BR","RL....BRL.L...R..L..RBLB.B","LL.R.R...LLR..B.LRB....LRR",".BL...LL...L.LRB..RBL...R.","..RLBLLRB.R.LR..LR.RR..L..","....LR...R.......LR.....L.","..RLL..BL.R......LLL..R...","..RRLBB.B..BL....RB.BBB...","..RB.R....R.RB....L.LBB.BL","RB..L..B..L.RRR...R.RR...L","L.B.R.R....B.LLL.R.RB.....","R......L..RBRBB......L.R..",".RL..L..BB...R.BL...BB.R..",".RRBLLL......BLR......B...","BLL.BL...L...BR......L....","RLLB.BR........R..L..R.LB.",".B..L.R.LR.B.R......R.....","....R......L..RRBR....B..."}
Returns: 196
{".B..R.B...B.BRRR..LRL..BB",".....B...LL.RL....RBBLL..",".BR.RB..B...B.LB..L.BL...","...L.......R.L.B..RRBL.RR","BL.R..BL.B....BRR..BLR..L",".B..RB.....BB.R.B....L.L.",".B..RRBR.L.BLL.B.L..BL..R",".L.BRBRR..L..B...BB...L..","RBB.LLL..R....B.RB...L.BB"}
Returns: 31
{"..LBBBL....RRL..RB...L...BB.LR","..L.BBR.RR....R..BR.RB.R.R.L.R","B.RRRBR.B...B.B..BL..LR..BB...","RRB.......R..LR.L.B..L.R.LBL..","LR..B.L.RB...RR.BLB..L.RR...BR","L.RRR...L.B....L..L...LLRL....","LL..R....RL.BLRRRRB.B.R.LR....","..BLR....L..L.......R.RB.R..BR","LR.L.L.....L.R.RR..RB.R.....R.","BL...RBLB........L.R....B.B.LB","R..L...LL.....LR..RL.RB...B.RR","B.BL.BB.R.B.RL...B...R.....B.R",".LR..B.R.LLBRRRBL...BB..L.BLB.","B.B.L..B.LL.B..L..RL....RR.L.B","..L.RR...R.LR...RL.........L..","......BL..RB.B...BB....B.....R","BBL..LRR.L.LB......B.B...RBBL.","...LBRL.LR.L.LL.RL...R.B..LB..",".RBL.BB...L.R.RRR......R....B.","B..BBL.B..B.R..........RR.BR..",".B.....RR.B...BRL.R.LL.R.R....",".R.B.......BL..RL...B..LRL.RRR","......LL.BL........L.RBBLB....",".LRLR......RR..........RL...B."}
Returns: 160
{"..BB...LRRL.L..","R.RR.LR...B....","LBR...RLLBBL...","B....LRL.L...R.","LL...L..R.LRLRB","R.R.B.LR.LR.LBR","B..L....LRB..B.","L.LB....RB...RB",".R.L......LLR.R"}
Returns: 36
{"..BL.L.RLR.L.......L..B.B..B.",".L.L......R.RRLLLR...RRRB.BB.","...L.....RB.........L.B.R..L.","....B.R.B.BRB....L..R.L..BRL.",".BL.L......RRL.R.R.LBB..B....","B..RL......L.RB..BB...L.RL...",".B.BR....B.R.....LRR...BR.B..",".BL..RB.B..BR...L..L.B.RL....","...R..LB.LRRB....LBB.R.L...L.","LL...R.....R....BB..L.BBL....",".......R.R..R..B.L..RB...R.R.","R..BB.RBRBRLRL...B.....BB.B.L","BR..L.RRB..BB..LL..L..RB...R.","L.....LBB.B.RLL..B..R..L..BL.",".LRL.R...B....R........LL.BR.",".B.RBR.R.B.B....L.B.B........",".R..B...B.L..RR.B...BRB......","RRR..LBR..LBR.....L..L...RRB.","..RLRR..L.RR.LB...B.BB.B..R.B",".RR....B.L.LR.RLBR.LL...B.RR.","..BBR.LR......BL....L...L....","L.RB..BB...RLL.....R...R....L",".BR...........B........B.....","R..R....LRB.R.L.....B.L.RLL..",".....LB...R...R....RR..RR..B.","R......L.....R...BR.BB.LB.L..",".RLR..R...BR.R....L....LL.B.B","LBL.BB......R.R...R.L.BL..L.L"}
Returns: 134
{"R.BLRB.....BBL","L.R..B.L.BLL.L",".L...L.LRL.R..","B.B..B.B...RL.",".LLR..L.LL..RL","...LBB.LLBR..L","RL........LB.R"}
Returns: 25
{"LRL.....BRR.BB..","L..R..LLBLB...R.","R.BL.BB..RR.....","LL..BL.LLL..R...","L..RR....RLL...B",".L...LRB..R.B...","....L.....LLL.L.",".L.L..LR.LBBLLLB","..B.BB..B..LR...","....B...L.B.....","L...L..LBB......","B.BL....R.R..BL.",".B...LB.L...B.L."}
Returns: 56
{"B.B.......L.....B.",".B...BL...BB.BRL..","B.L.....R...L.B.L.","R.........RR.BB.B."}
Returns: 19
{"B....L....R...L.RL.L...L.B..L."}
Returns: 6
{"....B...BB...","..L..RB.L.RR.","..RLBRL.LL.L.",".R.L.R.R.B...","L.L....L.L.RR","L.LB..BR.B...","..R....L.R.R.","..R.B...R...L","L..B.....R.R.","..B....B..R.L","R..R.L.R.....",".B...R....R.R","B.......B...B","...L....B.RB.","...R..BRL.B..",".RR.R.....BR.","RLB....L.L.R."}
Returns: 49
{"L",".",".","."}
Returns: 4
{"R.RB.....",".B..BL...","...RB...B","R.L...RRR","....L...L","...RL...L","B..R...B.","L.LB.RB.B","RL.RR.R.B","L...B.L..",".LL....RB","..R..R...","..RB.L.L.","RBL......",".....R.B.","....L.L.R",".BR...L..","L.BB.....","....RB..R","...R...B.","..L..B.BR"}
Returns: 39
{"BR...L....B.....LRB.R...R.LL","R...L.R.L..BR.L...B.LRR...LR","R.RR.RL.....R..L.R...L.....R","..L..R..BRR..LBB..LR.....LBL",".L....B..R......L.L......R.L","RL.B..B...L.R.L.......R..L..","...BRB....L.RB.BB.L..B.BRB..",".RRBLRLB...L.BBB.RR....RR.BB","L...BLRB.BR.......BR.....L.R","L...LL.....RB...L.R.....B.L.","....B..R...L...B...B...B..L.","BL.R.B..RRB..L.R...LB....L.L","RR.L.L..RRL...R.RB..B...R...","L.L.R.R......RL.RR...B..R.R.","B........BB..L.......B..L.B.","RBLL.R.R..R......BL......RB.","RB..L......B..L...L...BBR.R.","BL..BBL.LR....R..B......RLLL","......L.B.BLB...........L...","B....L...R.......B.RRLLR...L",".R......B....B....B..L...L.R",".LLR.LR..BL...B..L...L.L....","L...B..BRR....LB....LB..L...","..L.R.LB......RRB..L.LRL...L","R.R..RB.RR..RR.LR.....B.....","R..L...R.RRR........BR.B....",".B....R....LL...BRRLBL...R.."}
Returns: 127
{"RR.R..R..B...BR.L.B.R.B..","L.L......BRB.........RL..","..B..BBB...B..R....L.....",".RR..RR.....BR..B..R.LR..",".BLL..BRR.RR.B.L.L.L..R..","LRRR..L...B..L.....LBBRL.","..RL.....BL.......RRBBL..","BL....RL...L.RLBR...R..LB",".BLB.......LLR.L...L.....",".L......RB...L...B...B...","R..R..B.....L....RRRL.BR.","BR..LLL..BB.....B......L."}
Returns: 55
{"...R..B.L...BR.B.....L.B","B..LLBLB.B.....L.R.B.B..",".L..B..L..LL.L.B.....LRB","L.....R....LR.B.....RB.B","....B..B..BR....B.L.BB..",".R..RRL.R.L.RLRLB.BRBLRB","...BB.BRR...RRL.....RBB.",".BL.BR..L.R....L......RB","....B..R..L.R.RRR..R.B..","RLRLR.RR...B....L...LB..","R..BBBR....R...B...RRR.L","BBR.B........B.B.L.....L","R.RBRBB....L..L.....L...",".L.....R..R.R.....B..R..","...L......LB.L......R.BL","..R.R..B..RR.L....LRRLBR","L.....R..BL...L.....BB.L","...R.........L...BB.B..B",".B..L.....L....B.L..BR..",".RL.LR.B.....RB..B....L.","LB.R.R....LL.B.LRR.BR...","B......BL.B...BR.B..L.L.",".LR..RR..L.R.RB.LL.LL...",".R..B.BB.BLR..LL..RRL...","BRB.LBR.BBR.....R......."}
Returns: 152
{"RB......B.....LB..B....B","L...L.BR...BL.BLR...R..L","....BBBBRR.R.B.BLR.B...R",".....R.L...L.......RL.LR","BL..L......LLLL...LR..RB","L.......B..BB........LR.",".....L.....B.........LR.","RR....L.L.RLB....R.B..R.","LB..L..RBB.B.B.L....BL..","..R.RR..R.R.LR.L..R.....","...RRRRB......R.R..R..L.","..R...B.LB..RL..RL....BL",".L.....L.....R.....BB..L","B....R...LL.......R.LL.B"}
Returns: 60
{".",".",".",".","L","L",".","B","L",".",".",".",".",".","R",".",".",".",".",".",".","B"}
Returns: 8
{".R.....RR.B..R..B..R","B...L.B..RB........R",".B.B..L..B..B.L.....",".B.B.LB...LB......LR",".R.LL......B..BR.R..","B.L..RR........B..RL","BB.R..R.B.B..RL..BLB","...L....LBL..L.L....","...L.LLB...R..B.B...","R...LR..LR...L.B...R",".RBL.R.RBB.....RL.BB","B....LL.L..........L","....R.L..RB..RB..L..","..RB..BL..R.B......L","RBB....BR..R....B.R.","RR.L..L......LB.BLR.",".L...R....RBL.....L.",".L.B.B.LRR..BRRL....","BLRR...RL...L.R..RB.","..............L..BBR","....B.BR.L...L.R..L.",".....B...B.L.L.R.BLR","......LR...B....BLB."}
Returns: 60