Problem Statement
- If your detector indicates that all the adjacent squares, except for ones that you have already walked on, contain mines then you may mark them as containing mines.
- You may walk on a new square only if your detector indicates that the number of adjacent mines is equal to the number of adjacent squares already marked as containing mines.
- Walk around, backtracking as needed, until you are sure that you have visited all the squares that you possibly can while following these rules.
The layout shows the mine field as a String[], starting with the top row. '-' denotes a square with no mine and "M' denotes a square that contains a mine. The soldier will always start in the leftmost square in the top row, which will never contain a mine.
Definition
- Class:
- MineMapper
- Method:
- numClear
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int numClear(String[] layout)
- (be sure your method is public)
Constraints
- layout contains between 2 and 50 elements inclusive
- the length of each element of layout equals the number of elements in layout
- each character in layout will be a hyphen ('-') or upper case 'M'
- the first character in the first element of layout will be a hyphen
Examples
{"-M-","---","---"}
Returns: 1
In all examples '.' instead of '-' shows squares visited by soldier .M- --- --- The soldier cannot determine which place to move from the initial square.
{"-M-","M--","---"}
Returns: 1
.M- M-- --- The soldier knows where the 2 Mines are but cannot move anywhere to check on the rest of the field.
{"--M-","-MM-","----","----"}
Returns: 13
..M. .MM. .... .... The soldier moves right, determines the 2 mine locations. Then he backtracks and goes down. His detector says there is one adjacent mine, but he has marked the mine on the second row, second column. So he can safely go down to the third row. He can continue exploring and eventually get safely to all the non-mine squares.(He can determine the position of the remaining mine by first visiting all the squares in the bottom two rows and then standing on the square below the unmarked mine -- his detector will show that there is one adjacent mine and the soldier knows about the other three squares.)
{"-----","-----","--M-M","-M---","---M-"}
Returns: 18
".....", ".....", "..M.M", ".M-.-", "...M-"}; (A logician ignoring the manual could safely reach all 21.)
{"--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------","MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM-","--------------------------------------------------","--------------------------------------------------"}
Returns: 1716
{"--M--","-----","--MM-","---M-","-----"}
Returns: 18
{"-----","--M--","MM-M-","--M--","-----"}
Returns: 19
{"-----","--M--","MM-M-","-MM--","-----"}
Returns: 16
{"----------","---M-M-MM-","-MM-M-M---","-M-MM-----","---M------","---M------","---M------","---M------","---M------","----------"}
Returns: 16
{"----------","---M-M-M-M","-MM-M-M---","-M-MM-----","---M------","---M------","---M------","---M------","---M------","----------"}
Returns: 83
{"-----M-","--MMM--","--M----","--M--M-","--M---M","--M-MM-","-----M-"}
Returns: 34
{"-----M-","--MMM--","--M----","--M--M-","--M---M","--M-MM-","------M"}
Returns: 20
{"------M----M---MM----MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","------M----M---------MM----M---------------------","-------------------------------------------------"}
Returns: 933
{"-------------------------------------------","---MMM-M---M---------MM-------M------M-----","------M------MM---M--MM--------MM-----MM---","-----M--------MM-M-M----M--M-MM------M---M-","-----M--M-----M---MM-----M-MM----M----M--M-","-MM-MM-M--MM--MM--M-----M--M--MMM-MM--M--M-","---------M--M-M---M-MMM-M---MM--M----M-M--M","--MMMM-MM-----M-M---------------M--M-M--MM-","---MM--M-----M---M-----M---M------M--------","--MM--M---M-M-MM-------M-----M----MM---MM-M","---M--M-----M--MMM---MM-------M-----MMM---M","----M-M---M------M-M-----M-----M-MMMM-MMM--","--MM----------M--M--------M-MM--M---M-MMM-M","----MM--------M-------M---MM--M---M-M------","--M-M-----M--M--M--M--MM-----MM--------M-MM","-------M-----M-----M--M---M--M----M--M--MM-","---MM-----M--MM---M-------M--M--M---------M","---M-M-M-M--MM--MMM--M--M--MM---M--MM--MM--","----MM-MMM-M--MMM--M---M-------M----------M","-----MM--M--M--M-M--MMM--M---M------M----MM","-------M---M---MM-MM--------M---M-M--MM-M--","-M----M-M-M----------M-------M---MMM--M-MM-","-M------------M--MM--MM-M-------MM-----M---","--------M----M-M-M-M------M-----MM-M-M-M-M-","---MM-M-MMM----M----MM--------------M------","--M-M-M----M--------M-M-----M---M-M-MMM--MM","------M-MM----MM-M--MM-----M-MMM-MMM----M--","-M-M-----M----MM---MMM--MMM-M--M-M-M-M-MM--","--M-----MM-----M----------M-M---MM--M---M--","-M-------MM--M--M-M-M----M--M--M--M--MM-M--","------------M----------M-MM---MM---M----MM-","-M-MM---MM-MM---------MM--M-MM-----------M-","--M----M--M-M----M--M--------------M-M--M-M","-MM----MM-M-M----M----M--M-M-M-M---M--M-MMM","-M-----M-M-M-M----MM-MM--M-M----MM---MMMM--","-------MM-------M-M--MMM------------M----M-","-M--M---MM--------------M--M-M-MMMM----M---","--M------------M----M-MMMM--M-----------M--","----MM---MMMMMM---M-M----------MM---M---MMM","--M-M---M--MMM--------MMM--MMM--M----MM---M","--MMM---------MMM-M--M--M-M----M----MM--M--","---MM--M-M---M---MMM--MMM--M-M-----M----M--","-MMM-M-M--M--MM-M-M--MM---M---MMM---M--MM-M"}
Returns: 100
{"------------------","---MM-M-------M--M","-M-----M-M--------","--------M--M---M--","--MM-M-MM-M-M--M--","--M------------M-M","--M-------M--M-M-M","----M-MM-M-M-M----","-M-M------M-M-----","-M---M---MMM------","---MM---M-M-------","-MM-----------MM-M","---M-M--MMMMM--M--","----M-M---M-------","--M-M--M--M--MM---","---M-M-M-M-M----M-","---MM-M------M----","-----M-------MM---"}
Returns: 25
{"---------------------------","--MM--------------M--M--MM-","-MMMM-M-M-M-----M------M---","--------M-M-------------M--","--------MMM----M---M-M-----","--M------------MM-------M--","-M----MM-----------MMMM--M-","-M---M-M----M---MMM---MM---","--MMM----M-----M----M--M--M","-M-M-M---M-------------M---","-M-M----MM----MM------M----","------MM-M-----M--MM---M---","----------M--MM----M-----MM","-----M-M--M--M----M-M------","----MMM-------M-------M----","----MMM-MM--M---M--MM--MMMM","-MM-MM-----M-M-M-MMMMMM----","-----M-M-----------M---M---","-----M---MM-M----MM--M--M--","----M---MM-----M-MM-----M-M","---M---MMM--M-M--M----M-MM-","---------M-MM-M-----------M","-----M-------M-M-MM--M-MMM-","-MM----------MM--------M--M","---------M-MM-------M---MMM","--M------M-M--MMM-M-MM--M--","--MMMM--------M----M-MM--M-"}
Returns: 43
{"---------------------------------------","----M-M--------M---M--M---M--M----M----","---MM--MM----MM--M-----M--MM--M--MMM---","-MM---------MMM-M----MM--M-MM--M-------","---MMM-----MMM-M--M-MM-------M-M------M","-------M-M-M-M--M--MMM-M-M----M---M--MM","-M-M-----------M---------M--M-M--MM--M-","--M---M----M-M---M--M---M--M--MM-M-----","-MMM-----M--M-M-M--M--M--MM-M-M----MMM-","--M-M--M----MMM----M--M----MM-MMMM-MM-M","------M--MM----M---M----M-M--MM----M---","-M--MM---MMM--MM-----M--MMM---M-M-M-M--","--------MMM-----M----M-MM-M-M-MMM-----M","-M-------M---M----M---M-------M----M---","-----MM-MMM-M-MM-M-------M-------M---MM","-----M--M--MM--M--M-M---M------MMM-M-MM","--MM-MM-------M-----M-MM---MM-------M-M","----M--MM-----M-M--M-------M----MMMMM--","------M---M-M-M--M--M------------------","--M----M--------M-MM--------M-----M---M","-M-----M-M-M----M--M--MMM-----M--M----M","-M-M-M----M--M-----MM------M--M---M-M-M","-M--M---M-----M--M-----------M--M------","--------M---------M-M-M---M-M-M--------","--M-M-----M----------MMMM-M------M-----","------M-MM----MM-----MMM-MM---M---M-M--","----------M-M-M-MMMMM---M--M-M------M--","-----M--M-M------------M--M--M--M---M--","-MM---M----MMM------M-M-MM------M-M----","-MM--M-MM--M---M-M-M-M-M-M-M-M--M---M--","-------MM-----MM--------M---MM--M------","--MM-M-MM--M--M-M---M--MM--M-----M-----","-M-MM--------MMMMM--M--------M-MM----M-","-M------------M------MM----M------MMM--","-MM----MM-MMM-M-MMM----M---M-----M-MM--","-M-M--------MM--MMMM---MM--MM--M----M--","---MMM-M----M--------M----------M---M--","---M----M-M------MM------M--M-----MM---","-MM---M--MMM--M-MM-------M----MM-----M-"}
Returns: 22
{"--------------------------------------","-M------------M--M-M----M---M-M--M-MM-","-M-M-M--------M-M-M------------MM--MMM","-MMM--M--MM--MMMMM------M---M--MM----M","-M-MM----M-M-M------M---MM-M-M----MMMM","------M-----M-M---M--MM----MM--M-M--M-","--M-M-MM---MM-M--M---MMM-----M--MM----","--MM--M-M-M--M-M--M---MM---M-M-----M-M","-MM-M-MM---------M---------M---M-M-M--","-----M--M-MM-M--M--MM-M--MM-----M----M","----M---M---M----M--MM-M-----MM---M--M","---M---M-MM---------MM-M---MM-M-------","----MM-M----M---M--M---------M------M-","-MM-M--M--M----M-----M-------M-M-M----","----M------MM---M--MM-----MM----------","-----M-M--------MM--M---MMM--MMM-M----","-MM-M-M---MM--MMMMM------------MM---M-","------MMMM---M--MM---M-M---M------M---","-----MM--M--M-M-------M-MMM-M-----M---","----M-M-M---M----MM----M-M---MMM-M---M","-MM-M-M------MMM---M--M----------M-M--","--M-M----M--MMM--MM---MMM-MMM---M-----","-M----MM-M----M-M---M---MM------MMM--M","--MM---------MM-------MM-M----MMM--MM-","-----M----MM-MMM-M----M------MMM------","-M--M-M--M--M--M----M-M-M--M--M-------","--------MM---M--------M--------------M","--MM-------M----------M----MM--MMMM---","-M-MM-------M---MMM--M-M-------MM--M-M","---M-------MM-MM--------------M----M-M","-M------M------M--------MMM-----M-MM--","-------M--------M--M-M----MM-M---MM-MM","-----M--------MMMMM------M-----M--M-MM","-MM-M-M------M----------M--M---M------","-MM--MMM----M--M-M-----M----M----M-M--","----M--------MMM-----M-M-MM-M---M--M--","-MM-M-M----M------MMM----MM---M----M--","------M--M-M-M---M-MM----MM--M-M-MM--M"}
Returns: 3
{"--------------------","-M--M--M-M---M-MM--M","-----M---M------M-MM","-----M---M----MMM-MM","---MM---M-M-MMM-M-MM","---M--------M-------","------M---MM-M------","-MMMM---------M----M","---M-M-M------M-M---","----M---MMMMM-----MM","---M-M----MM----M---","-MMMM--M---M---M--M-","-----M-M-M---M----M-","---MMM---M--M-----M-","-M---M------M---M-M-","--M--M---M--MM---M--","-MM---M---MMM-------","--------M--M---MMMM-","-M-------M----M-M-M-","--MMMM-------M-----M"}
Returns: 3
{"-----------------------------","--M-M-M-------MM-MM------M--M","-M---M-------M-M--M-----M-M-M","-MMM----M-M---M------MM------","-----MM-------M-----M------M-","---M--M-------M-----M--------","--M-M--MMMM----M-----M------M","------M-MMM-M-M-M---M---MM---","--MM----MM----M-MMM-MMM-M----","-M--MMM-M-M-M--M-M-M-M--M----","-M---MM--------M-M--MM----M-M","-M-MM-M-MMM-----MM-M------M--","----MM-----M--MM---MM----M---","----MM-M--MM---MM------------","----M--MM----M----MMMM-M-----","-----M--MM----M---------M-MM-","-MM--M----M---MM-M-M-M-M-MMM-","---M--M------M----------MMM--","----M---MM-M----M------MM----","--------M-M-----MM-MM---M----","--M--MM--M-M--------M------MM","-MMM-M--MM-MM----M---M-------","--M--------------M--------M--","--MMM----MM-MMM-M---M-M---MM-","-M------M-M---MM--MM-MM----M-","--M----MMM-M-M------M--M-M---","----MM---M----M--M-----------","--M--M----M--M--MM--M----M--M","--M---MMM-M----M-----M----MM-"}
Returns: 10
{"--------------","--M-M-MM------","---M--MM-----M","---M---M--M---","--MM---M----MM","---M--------M-","-MM---MMMM--M-","--MM-MM----M--","---M--M-------","----MM-M------","----M----M-MMM","-M--------M--M","--M-----------","-MMM--MM---M--"}
Returns: 22
{"----------","---MM-MM--","--MM-M----","---M---M--","----------","----------","-M---M----","---------M","---M------","----M-MMMM"}
Returns: 81
{"-----------------------------------------","---M-M-------M-M-------M---M-MM---M--M--M","---MM----------MM--M-M---M-M---M-------M-","------M---M-MM--M-MM----M-M-M---M-M-M--M-","---M----------M-M-M--MM--M---MMM--------M","---------M-M---M--------M---M------M-----","-M----M--------M---M----MM-M---M----MM-M-","--------M------M-----M-----MMM-M---------","-MM--------M----M-M----MMMM----MMM---M--M","---M-M-MM---MMM---M-MMMM----------M-MMM--","-MM------M-M-MM---M--M-MM-MM--MM---M-M-MM","-M--M-MMM-M--M----MMM------M-----M------M","-M---M-MMM--MM-M----MMMM--------------M--","---MM-----M----M---MM--M--M-M--MM------MM","--M--M---M--M--M---M----M---M-M------MMM-","-----M----M-----------M------M----M-M-MM-","-M-M-------M----MM---M-M--MM-M-MMMMM-M---","------M-M--M-----M-----M-M----MMM--M-----","--MM-MM-M----M----M----MM--MMMM-------MM-","----M--MM---M--M-----M--M--MM-M-MM--MM-M-","-M---M----M---M-------M----MM--M--MMM---M","----M---M-MM-M--M---MM--M-MM--MM---------","-MMM-----M---M-M-M----MM--MM--MM-----M-M-","---M-MM-M-MM--MM---MM------MM---MM-M--MM-","-M------MMM-------M---------------M-MM-MM","--MM-MMM-------M-M--M----M--MM-M--M------","-MMM-M--M-M--M--M--M-M---MM-M------M-M--M","-M--M--MMM-----M--M-M-------MM-MM-M------","-------M-MM-M----MM-M--M-MM-M-M--MMM-----","--MM-M-----M-M--MM--M------M--MMM-M-M-M-M","---M--MMMM-MMM----M-------M-------MMM--M-","------M-M-M-M----MM--M---MM--M---MMMM----","--M-M-M-M-----M---M-----M---M-M----------","-M----M-M------MM-------M--M-MMM----MM-M-","---------M-MM--M--M----M-M---------M----M","--M-M--M----M-------M---M------M---------","-----MM-M--MMM--M--M--M--------M---M----M","--M---M-------M--M-M-MM---M--M---M-----M-","--M--M---M--MM---M-M------MM-M-MM----M---","-----MMM-----M-----M---------M---M--M----","---MM-M-M-----------M-M--M-MMM----MM-M-M-"}
Returns: 146
{"---------------","--M-----M-M-M-M","------M-M---M--","-MMMM-----M--MM","------M-------M","--M-----M-M--M-","----M--M-MM----","----MM----M----","-M-MM---M------","-MMM--M-M---M--","--M-------M--M-","-M-M-----M-----","-M--MMM---MM---","------M-------M","----M--M-----M-"}
Returns: 25
{"---------------","---M-M-MM--MMM-","--MM--M-M-----M","---M--M--M-M---","--M--MM-MMM----","-M--M-M-MM-----","--M-M--M-MM----","--M-----M-M---M","--M-M----M-----","-M------M-M----","-M-M---M---M--M","-M--M-M--------","-------M-M----M","-M-----M-M-----","-MM-M---M---M--"}
Returns: 26
{"--------------------","-----M--MMMMMMM---M-","-------M-M--M-------","------M-------M--M-M","------MM-----M---M--","--MM---M--M----M---M","---M----M-M-M--M-M-M","-----M--M---M-------","--M-M----M--------M-","-MM-M---------M----M","---MM----M--M---M--M","-M---M-M-M--M-M---M-","-----M-----MMMMM-M-M","----MM---MM----MM--M","--------M-MM-----MM-","---MM--MM-----M-----","--M--MM--------M----","---M-M-----------M--","-M-M--M---M-M--MM---","---MMMM-M----------M"}
Returns: 78
{"---------------","---M---M--MM---","-M--MM-M--MM--M","-----M---------","-M---M---------","--MM--M--------","--MM------M---M","--------M-M----","--------M--M-M-","--MM------M----","-------M-M-----","-M-----MM---M-M","-M-----------M-","-----M--M---M-M","--------MM-M---"}
Returns: 11
{"--------------------------","------MM------M-MMM--M-M--","-M--M---M-M---M------M---M","----M-M--M-MM-M-MMM-M-M-M-","--M-MM----MM---M-M-M-MM--M","-MM-M---M-------M-M-M-MMM-","-----------M-----M-M------","----MM-M-M------M---M--MM-","-M-M---MM--M--------M---M-","---MM-M--MM-M------M-M----","---M--------M-MM---M--M--M","-M-MM----M--M-----M-M--M--","-----M---M-MM-----MM------","-M-M----MMMM--MM-M-M-M-M--","-M-------MM--M----M--M--MM","--------------M-M-MMM-----","--M--M-----M--M-----M-----","-M--M----M-M---M---M---M--","-M--M-M-MMM--M--MMMM-----M","------MM---M-----MM-------","----M--M-M-----M---M-M-MMM","-----------M-M-M--M---MM--","-MMMM---M---------M--M--M-","-MM-M-M-------M-M---------","--M-----MM-MM--M-M-M--M--M","-----M----M----------M-M-M"}
Returns: 29
{"-------------------------------","--------M----M-----M--M---MM--M","--M--M---MMMM-MMM-M---M-M-MM-M-","----M------MMMMMM-----M-MMMMM--","-M-M-M-M-MMM--M-M--M----M--M-M-","-M---M---M-M-------MMMM--MMM-M-","---M--MM-----------M--M-----MM-","--M------M----------M--M-MM-MM-","-M---M---------M---MM--M---MM-M","---M----MM-----M--MMM--MM--MM-M","-----M-MM--M----MMM-M---M-M----","--M----M--M-MM----M---M-M--M--M","--M---M---------M-------M---M--","----M-----MMM-M-------M-MM----M","---MMMM--------MMMM-M---MM--MM-","------------M-M---M-----M-MM--M","-M---M-M---M-M-MM-MM--M-MM-----","---M-M------M---MM-M---------M-","-----MM----M---M--M-M-------MM-","--------M--MM--MMMM--MMMMMM----","-------M--MM-M-MM-M-M----M----M","---------M---M--------M---M-M-M","--M--M--MM----M-M-MMMM--MM-MMM-","---M------MM--MMM--M----MM--M--","---------M---M---MM-M-MM----M-M","-M--MM---MMM-----M---M--M-M----","-----------------MM-M----MM-M-M","--M-M-------M-MM-----M---------","------M-M----MMMM--M----M-M----","----MM------MM-------M--MMM----","---MM--M--M-MM--M---M--M-------"}
Returns: 79
{"-----------------","---M-M-------M---","----MMM-----M----","-MM---M---M-MM---","-M-M--M-M-M---MMM","----M--M---------","-MM--M----M-M----","---M-M--M-----M-M","-------M-M---MMM-","-MM-M-M--M-------","-M--M-M-MM-MM-M--","----MMM-MMM--M-M-","-------M------M--","--MM--MM----MMM--","--MMMMM-M----M--M","-----M-M---M---M-","------MMMM--M----"}
Returns: 10
{"---------------------------","----M--M------MM---M--M--M-","----MM--------MM--M--M-----","--M--M-----M--MMM-M-M--MM--","---M--M-M------M-----M-----","--M-------------M--MM-M--MM","----MM-MM----MMM-----MM---M","-------M--M-----M-M--MM----","-M--MM-MMMM--M-----M--MM---","-M---M-----MM-MM----M------","-M-M--------MM---M-----M---","------MM--M--M-M-MM---MM---","---M--M------M-----MM----M-","---------------M--M---M-M-M","--MM---M--MMM------MMM-----","-----M-M-MM-------M--MM----","---M-MM---M-------M--MM----","--------M------M----M---MM-","-M-M--------M-M---M----MM-M","-----MM--MM---M------MM----","--M---M---M-M--MMM-M------M","---M--MM---------M-M--M-M--","-M---M------M--MM--M-M-----","-M--MM--M---MM--------M-MM-","-MM-M---MM----M-M--M----M--","-M----M-M---M-----------MMM","-MM---M--M-------MM--M---M-"}
Returns: 39
{"------------------------------------------------","-M-M--M-M------MM------M------M-------M---M-----","-----MMMMMMMMM-M--M------M------M--M--M--M-MMM-M","----M------M-----M-------M---MMMM-M--M-----MMM-M","--------MM--M--M-------MM---M--------M------MM-M","--M----------MM-------M--M---M-M---MM----M------","-MM----------M--M------MM-------------M-M-M---M-","-M---M--MM--M------M-M------M--MM--MM--MM----M--","--MM-M---MM-M--MMM--------M-M---M-M---------M--M","----M------M-M---MM--MM-M---M----M-M--M-MMM-MM--","--M-M---MM-MMM----------M-M----M-----M--M--MMM-M","-M-M-------M------------M-MM-MM--MM-MM--------M-","-MM--M-----MM--MMMM----M--MM--M-----M---M----MM-","----MM--M--MM-M-M-----M--M-M-MM-M-M---M-----M-M-","--M---M--M-MM----M---M-M--MM------------MM---M-M","---MM---M--M-MM-M--M---M------M-M----M-M---M----","-M-MMMM--M----M---M------M---MM-M----MM-M--MM-MM","---M--------M--M-MM-M--M---------M---MMM---M-MMM","----M----M---M----M-----M-M-M---M----MM---M-MMM-","---M--M-MMM-MMM---------M-M-------------M----M-M","---M-M-M--------MM-M----M----M-M---M-M--M----MM-","-------M----M-----MMMM---M-M-M----MM--M---------","--M--M-MM--M-MMMM-M----M--M----------M---MM----M","-----M-M-MM---MM--M-------M----MM----M-M-M-----M","-M-M----M-MMM----MM---MM-M--MM-MM---------MM--MM","-MM----MM-MMM-------M--M--M-MMMM-M----M--------M","-M-M-M---M-M-M--M----M---M-M-------M-MM-M------M","-M-M--MM-M--M-M-----M----------M---M----M-------","------M----M---------------MM------------MM-----","--MMMMM----M-M-M--M---M----M---M--M--M-----MM---","-M----M--M--MM----------M-M-------M---M---MM--MM","--M---------M---M---------M-M-MM-----------M--M-","--M-M--M-M------MM--M-M-M--------M------M-----M-","----M------------M------M--M--M--M-M---M----M---","---M-MM---------MM-MMM--M--------M----M--M-MMMM-","---MM-------M-M--M------------MMM-M--M--M--M----","----M--M-M--M----M---M--M-M-M-M---MM-----M-M-M--","------M---M---M-M--M--M------M-MMMM-MMM-M-------","-----------M--M---M-----------M------MMM------M-","---MM--M------M-----M-M----M----M-------------M-","-M---M-------M-M------M-M-M------MM---------M-MM","----M-M------M---M------MM--M------M-M----MM-MMM","-----M-M--MMMMM--M----------M-----M-M-M-M-M-----","----M----M-M-M--M-MM---M--MMMM--M-----MMM---MM--","----M--M-M-M-----M--M------M----M------M------M-","----M--M-------MM----M-M----M-M--M--------M--M--","-M-M-M------M----M---------M-M------MM-M-M---MM-","-M------M--MMMM-M------M---M-M--------MM-------M"}
Returns: 3
{"-------","-MMM---","--MM-M-","------M","-----M-","-M-----","-MM-M--"}
Returns: 3
{ "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--------------------------------------------------", "--M--------------M--------------------M-----------", "-----------------M--------------------------------", "--------------------------------------------------", "-------------------------------------M------------", "------------------M-----------------M-M-----------", "--------------------------------------------------", "-----------------M-M------------------------------", "-------------------------------------------------M" }
Returns: 2489
{ "-M", "M-" }
Returns: 1
{ "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "--M--M--M--M--M--M--M--M--M--M--M--M--M--M", "-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM-MM", "------------------------------------------", "------------------------------------------", "------------------------------------------", "------------------------------------------", "------------------------------------------", "------------------------------------------", "------------------------------------------", "------------------------------------------" }
Returns: 439
{ "---", "-M-", "---" }
Returns: 3