Problem Statement
One day, Farmer John found that wolves have infested the pasture through holes in the wall. Farmer John has fixed those holes, but the damage has been done: there are now some wolves in the pasture. More precisely, some cells of the pasture contain sheep, some contain wolves and some are empty. There are no cells that contain both sheep and wolves, and Farmer John would like to keep it that way. To make sure that the wolves cannot reach his sheep, Farmer John is going to build some fences.
Each new fence has to be placed either between two rows or between two columns of cells. Each fence will start at one end of the pasture and reach all the way to the other end. Neither sheep nor wolves can cross the fences. The new fences must be placed in such a way that none of the wolves will be able to reach a sheep.
You are given a
Return the smallest number of new fences needed to separate the wolves from the sheep.
Definition
- Class:
- WolvesAndSheep
- Method:
- getmin
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int getmin(String[] field)
- (be sure your method is public)
Constraints
- field will contain between 1 and 16 elements, inclusive.
- Each element of field will contain between 1 and 16 characters, inclusive.
- Each element of field will contain the same number of characters.
- Each character of each element of field will be 'S', 'W' or '.'.
Examples
{"W.WSS", "WW.S.", ".SSS.", "SSS.S", ".SS.S"}
Returns: 2
The optimal solution is to build two fences: one between rows 1 and 2, the other between columns 2 and 3. (All those indices are 0-based.) This will divide the pasture into four smaller rectangles. One of those rectangles (the 2 by 3 rectangle in the top left corner) will contain only wolves, the other three will contain only sheep.
{".....", ".....", "....."}
Returns: 0
There are no animals, thus we need no fences.
{".SS", "...", "S..", "W.W"}
Returns: 1
{"WWWSWWSSWWW", "WWSWW.SSWWW", "WS.WSWWWWS."}
Returns: 10
{".W.S.W.W", "W.W.S.W.", ".S.S.W.W", "S.S.S.W.", ".S.W.W.S", "S.S.W.W.", ".W.W.W.S", "W.W.S.S."}
Returns: 7
{"W.SSWWSSSW.SS", ".SSSSW.SSWWWW", ".WWWWS.WSSWWS", "SS.WSS..W.WWS", "WSSS.SSWS.W.S", "WSS.WS...WWWS", "S.WW.S.SWWWSW", "WSSSS.SSW...S", "S.WWSW.WWSWSW", ".WSSS.WWSWWWS", "..SSSS.WWWSSS", "SSWSWWS.W.SSW", "S.WSWS..WSSS.", "WS....W..WSS."}
Returns: 24
{"S......W.....S..","....S.....WS..WS","S...W..W....S...",".SWWWW.W...SW.W.","W.....W..WS.WS..","..S....W..W.....",".WS........S..S.",".S...W..WS.S....","..WWSS...W.....W","..........W.....","W...SW.W......W.","...W.....S.W....","S..SSW..S...S.W.","..SSWS.S.SS.W..."}
Returns: 20
{"WSW...",".WSSWW","SWSSWW","S.SW.W",".S.S.W","SW...."}
Returns: 8
{"W....W.S.","W.S...S.S","..WWS....","W...S.W..",".......W.","S.S.S....","WW..S.S..",".W..WWWWW","W...WS.SS","........S"}
Returns: 9
{"...WWWS","WSSSSSW","WS.WSSS",".S..WSS",".WS.WS.","SWS.W.W","WSSSW.S","WSWSWW.","S.SWWS.","SWWSSSS",".....SW","..WWW.S","WW.S.WW","SWW.WS.","S.S.SSW","SSWWSSW"}
Returns: 20
{"SWW.WWWWS.W","WWWS.WW...S","WSWSSWSW.WS","WSSWSS.W.WW","SW.S.WW.SS.","WWSWWWWWWWS",".SSWSWWWS.W","WWS.WS.SSS.","SSS.WWSWWSS"}
Returns: 18
{"WWSS..SWSS","W.WSSWSSSW",".S.WS.S.SW"}
Returns: 10
{"S..WS...SS.",".SW.SSSW...",".SW...SS.S.","S.W.W....W."}
Returns: 6
{"WWW.S",".S..W","W.WWS","SSSSW","SS.SW",".S.W.",".SSS.",".SWSW","..WWS","..SSS","SWSWS","S.WS.",".WWS.","WWW.S","S.SW."}
Returns: 16
{"WSW.W..S.......",".SSSSWS..WW.W..","S..SWWWS.WW.SWS",".WSWW.SSS.W..WS"}
Returns: 14
{"....W.....W...S.","........S.......","....S...........","........S.......",".....S....S..S..",".W..S.....W....."}
Returns: 5
{"...SWSW",".W...S.","..WWSW.","...W..S","WS.S.S.","..S.W..","...S.W.",".W..S..",".W..S..","......."}
Returns: 8
{".SS..W.W..",".SSS..W.W.",".WWSWS.WWW","......WW..",".W..SWW.S.","S.WWSSSWWS"}
Returns: 10
{"SSWWS..W","SSSWWWSS","WSS.WS.W"}
Returns: 8
{"WSSSWWWSWWWWW","WSSSWWWSSSSWS","SWWWSSSWSWSSS","WSWSSWWWWWWSW","WSSSWSWWSWWSS","SWSSW.WWWSSSS","WWSWSSWWWWSWW","W.WSSSWSWSSWS"}
Returns: 19
{"W..W","SWW.","WSWW","WWSW","WS.S","WWWW","WW.S","WSWW","S.WW","WWWW","WWSW","W.SW","SSW.","SW..","WS..","SWSW"}
Returns: 17
{"W.WW.WWSWW.WS","SSSWS.S.WS..W","SWWS...SSW.WW",".WS.W.W...WSS","..W.WWSSSSSWS",".SSWS..W.SSW.","WWSS.WWWWSWWS",".S..SWSSWS...","WSS.WWW.W..S.",".SSS.SS.S.SSW"}
Returns: 21
{"W.S...","..WS.S",".S..WS","SWSSSW","....WS","W.W.WW","WS..S.","SSS.S.","WS.W.."}
Returns: 12
{"..","WW","..",".S","..",".."}
Returns: 1
{"SS.W","WWWW","SS.W","SS.W","SSSW","WWSW","SWSS","SWSS"}
Returns: 7
{"WW",".W",".W","W.","..","..","S.","S.","SW",".S","..",".."}
Returns: 3
{"..SWSW..SW...",".....S..WS.WW",".S.W...S.....","...W.S......W","SS.....W.WSS.","W.SS.S.W.S.WW","...........WW",".W..W.W......","....WS.SSWWWS","SW......W....","..S.W.S.SSSSS"}
Returns: 16
{"S..WWS","S..W.W"}
Returns: 3
{"WSWWW","SWSWS","WWSWW","SWWSW","WSSWW","SWWWS","SSSWS","SWWSW","WWSWS","WWWSS","WWWSW","SSWWW","WWSWW"}
Returns: 16
{"..S.WWW.S..WS.","SS...W...W.W..","..SSWW....S.S.",".WSWW.W..S..W.","..WW...S..WS.S","..W..WWWW..W.."}
Returns: 11
{"SWWSSSWWWSWWSWS","SWWWWWSWWSSSWSS","SSSSWWWWWSSWWWW","SSSWWWW.WSSSWWW","WSSSSSWSWSSWWWW"}
Returns: 16
{".........W..","............","W........S..","............","............","............","............","W....S......","............","..........W.",".......W....","....S.......","............",".......S...."}
Returns: 4
{"...W.","S....","....W",".....","...S.",".S..W","S...."}
Returns: 2
{"SW","W.","SS","W.","SW","S.",".W","SS","SS","WS",".S","W.",".W","WS","SW"}
Returns: 10
{".WWWW.SWWWWSWSSW","SWSWWSWSWSSSWWWS","WSWSSSWWWWWSWSWS","WSSWWWWSWSSWSSSS","WWSWSWSWSSWSWSWS","SSWWWWSWSWWWWWWS"}
Returns: 20
{"SSWSSS..SWWWWW.",".W.W...SSWSWW.S","SW.SSWWWW.SSSSW","SSSWWWWWS.SWSWS","SSSWSSSWWWSSWSW","WWWSS.S..SWWWSW","W.SWSWWSSWWSS.S","SS..WWWSSSWWWWW","WWS.WSSSS.SWSS.","SWSWSWSWSSSSS.W",".WW..WWSS.SSWWW"}
Returns: 24
{".",".","S",".",".",".","."}
Returns: 0
{"W.WS..W.WWSSWW..","SSWSSSSWW.WWWS.W",".SSWWWWW..WWSWW."}
Returns: 10
{".....",".....",".....",".W...",".....","....W",".....",".....","....."}
Returns: 0
{"SSSWWWSWSSWSW",".W.SSSSSWSWSS","WSWWSSW..WWWS","WSSWWWSWWWSWW","SW.WS.SSW.WWW","WWSSSWSWSSWWS","S.W.SWW.WWWSS","SW.WWWSSWSWWW","SSWWSWWSSSWSS","SSSSS.SSWSWSW"}
Returns: 21
{".W","WW",".W",".S","WW",".."}
Returns: 2
{"..S....WWW...W.","SS.WSW..WW.W...","W.S....W..WW.SW","S.W.S..S.......","S.....SW..S....","WS..S...WWW....",".......S.S...W.","S..S.W..S..W..W","..SS.WS..S....S","W..SS..WSSW.W..","SWS..WS...W.WWS",".S.SW......W..S",".S....SS...SW.."}
Returns: 20
{".W.W..W",".SS....","S......",".....WS"}
Returns: 3
{".....W.W...SS","...W..W..S.SW","......S...WWW","S.........WW.","WW........W.S"}
Returns: 5
{".","S",".",".",".",".","W",".",".",".",".",".","."}
Returns: 1
{"...W..","...W..",".S.W..","..W...",".S.S..","..SSWW","..W..W","..W...","..S.S.","SSW.SS"}
Returns: 6
{".......W....W..","..........S...W","........W..S...","...S..........S","...............","..........S....","...........S..W"}
Returns: 4
{"SWW.SS.W..","SWWSS..W.W",".W.WSWSWW.","....WS.SSW","WSWWWWS...","SSW.WSWS.S","S.SSSWS.SW","SS..W..W.S","WW.SSWWS.S"}
Returns: 15
{".",".",".",".",".",".",".",".",".",".",".",".",".","."}
Returns: 0
{"S.","..","WS",".S","..",".S","S.","W.",".S"}
Returns: 4
{".W","SW","S.","..","W.","WW","S."}
Returns: 3
{"....W.","...S..","...W..","......",".W....","......",".....S","..S...","......","......"}
Returns: 3
{"SWS.W..WSSS.SWW","..SW.SW.WWS..SS"}
Returns: 9
{"W"}
Returns: 0
{"WW..SS", "WW..SS", "......", "......", "SS..WW", "SS..WW"}
Returns: 2
{"W.SSWWSSSW.SS", ".SSSSW.SSWWWW", ".WWWWS.WSSWWS", "SS.WSS..W.WWS", "WSSS.SSWS.W.S", "WSS.WS...WWWS", "S.WW.S.SWWWSW", "WSSSS.SSW...S", "S.WWSW.WWSWSW", ".WSSS.WWSWWWS", "..SSSS.WWWSSS", "SSWSWWS.W.SSW", "S.WSWS..WSSS.", "WS....W..WSS." }
Returns: 24
{"WSWWWSWSS..SWSWS", "SWSWSWSSSS..SWSS", "....SSSSSSWSSSSS", ".SWSWSSSSWWWWWWW", "....SSWSSSSWWWSS", "..SSSWSSWSWSWSWS", "...SWWSWSWS..SWS" }
Returns: 21
{"WWWSWWSSWWW", "WWSWW.SSWWW", "WS.WSWWWWS." }
Returns: 10
{"WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW" }
Returns: 30
{"SWSWSWSWSWSWS.SW", ".SWS.SWSWSWSWSWS", ".WSWSWSWSWSWSWSW", ".SWSWSWSWSWSWSWS", ".WSWSWSWSWSWS.SW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS", "SWSWSWSWSWSWSWSW", "WSWSWSWSWSWSWSWS" }
Returns: 30
{".W.S.W.W", "W.W.S.W.", ".S.S.W.W", "S.S.S.W.", ".S.W.W.S", "S.S.W.W.", ".W.W.W.S", "W.W.S.S." }
Returns: 7
{"..", ".S", "W." }
Returns: 1
{"WSW" }
Returns: 2
{"SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS", "SWSWSWSWSWSWSWSS", "WSWSWSWSWSWSWSSS" }
Returns: 29
{"..WS............", "................", ".............W..", ".............S..", "S...............", "W...............", "....S...........", "............W...", "......WS........", "................", "................", "..S............S", "...............W", "....S...........", "....W...........", "..........WS...." }
Returns: 8
{"W.", ".S" }
Returns: 1
{".W.S.W.W", "W.W.S.W.", ".S.S.W.W", "S.S.S.W.", ".S.W.W.S", "W.W.W.W.", ".W.W.W.S", "W.W.S.S." }
Returns: 7
{"SSWS..WS.SSSSWSS", "S..S.SS...S.S.SS", "WS.SSS..S..SS.SW", ".....SW.SS......", "S.WS.WS..SS....S", "S.SW.S...W.SW..W", "....W......W.SSS", "S..SS.S...SS....", ".SW....SS...S...", "SWS......S.....S", "S..S.SWSSWSSS..S", "S...S.S....S.S..", ".SS.SS.W.WS....S", "..SS.S..SSSS.SSS", "..SSSS.S..SS....", "..S.SS.S...S.S.S" }
Returns: 22
{"....S.......W...", ".S..............", ".....SS.S.S...W.", "....S...S..W..WW", "....W.........WW", "W.........SS...S", ".....SS....S....", "......W..WW.SW..", "..........W..W.W", "S..W............", "W.W..W....WSW.SW", "W.S....W..W....S", ".............W..", "W...........S...", "W........S......", ".WW.......S....W" }
Returns: 12
{".W...S..WW.SSWW.", "SW...SW..WW...WS", ".WWS.SW..WWW..WW", "WS.WSSW.WSS.SS..", "SW..WSWS...WW...", "......W.WW.S.W..", "SWWWWW...SWWSSWW", "....S..W.WW....S", "..WS...SSSW..S.W", "WWS..S.SW..S.S..", "SS.W..S.SSWSSWSS", "W.S....WS....W..", "S.SSSSW.WWSW.SWW", ".W....W.W.WSSS.W", "SSS..WSWSS...S.S", "...S.S.W...W.S.S" }
Returns: 29
{"WW..SS", "WW..SS", "......", "......", "SS..WW", "SS..WW" }
Returns: 2
{"SSSSS", "SSS..", "....W" }
Returns: 1
{"W.SSWWSSSW.SS", ".SSSSW.SSWSSW", ".WSSWS.WSSWWS", "SS.WSS..W.WWS", "WSSS.SSWS.W.S", "WSS.WS...WWWS", "S.WW.S.SWWWSW", "WSSSS.SSW...S", "S.WWSW.WWSWSW", ".WSSS.WWSWWWS", "..SSSS.WWWSSS", "SSWSWWS.W.SSW", "S.WSWS..WSSS.", "WS....W..WSS." }
Returns: 24
{"W" }
Returns: 0
{"W..S", "....", "..S." }
Returns: 1
{"SW..SW", "WW..SS", "......", "......", "SS..WW", "WS..WS" }
Returns: 6
{"WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS" }
Returns: 1
{".WW.W....S......", "..SW....W.WS....", ".......SS...WW..", "...S..W.S.W...S.", "...W.W.SW.....WS", "S...W....WS.S...", "..W...S.......SS", ".S.W.W........S.", "........SW..WS..", "...W.W....WWWS.S", ".....S.....W..SW", ".SW...SWS..S....", "S..S..S..S.W.SW.", "WW..S.W.........", ".....W....S.....", ".WW............S" }
Returns: 20
{"W...S", "S..W." }
Returns: 2
{"S.", ".W" }
Returns: 1
{".W.S", "W..S" }
Returns: 1
{"WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS", "WSWSWSWSWSWSWSWS" }
Returns: 15
{"SW" }
Returns: 1
{"S..", "...", "..W" }
Returns: 1
{"WSWSWSWSWSWSWS", "SWSWSWSWSWSWSW", "SWSWSWSWSWSSWS", "WSWSWSWSWSWSWS", "SWSWSWSWSWSSWS", "WSWSWSWSWSWSWS", "SWSWSWSWSWSSWS", "WSWSWSWSWSWSWS", "SWSWSWSWSWSSWS", "WSWSWSWSWSWSWS", "WSWSWSWSWSWSWS", "SWSWSWSWSWSSWS", "WSWSWSWSWSWSWS", "SWSWSWSWSWSSWS", "SWSWSWSWSWSSWS", "WSWSWSWSWSWSWS" }
Returns: 26
{".S.", "W.W" }
Returns: 1
{"S.W" }
Returns: 1
{"W.....W", "...S...", ".W...WS", "....S.." }
Returns: 4
{"................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................", "................" }
Returns: 0
{".W", ".." }
Returns: 0
{".......W", "......W.", ".....W..", "....W...", "...W....", "..W.....", ".W.....S", "W.....S." }
Returns: 2
{"....WWSSWWWSS", ".W..WWSWWWWWW", "S...WWSSWWWSS", ".W..SWSWWS.WW", ".W..SWSWWS..W" }
Returns: 10
{"S.", ".W", "S.", ".W", "S.", ".W" }
Returns: 1
{".S.W.S.S.W..S..S", ".S.W.S.S.W..S..S", ".S.W.S.S.W..S..S", "W.S..S.S..S..SW.", "W.S..S.S..S..SW.", "W.S..S.S..S..SW.", "W.S..S.S..S..SW.", "W.S..S.S..S..SW.", ".S.W.S.S.W..S..S", ".S.W.S.S.W..S..S", ".S.W.S.S.W..S..S", "W.W..W..W..WS.S.", "W.W..W..W..WS.S.", "W.S..S.S..S..SW.", "SW.W..W..W.W..W." }
Returns: 11
{"WWWSSS.S.WWSSW", "WWWSSS.S.WWSSW", "WWWSSS.S.WWSSW", "WSSWSS.W.WWSSW", "WSSWSS.W.WWSSW", "WSSWSS.W.WWSSW", "WWWSSS.S.WWSSW", "WWWSSS.S.WWSSW", "WWWSSS.S.WWSSW", "WSSWSS.W.WWSSW", "WSSWSS.W.WWSSW", "WSSWSS.W.WWSSW", "WSSWSS.W.WWSSW", "WWWSSSW..WWSSW", "WWWSSS.S.WWSSW" }
Returns: 12
{"W..", ".S.", "..W" }
Returns: 2
{".S", "W." }
Returns: 1
{"..........", "..........", "....S.....", "..........", "..........", ".......W..", "..........", "..........", "..........", ".........." }
Returns: 1
{"WWW.....SS..S.WW", "WW...SS..WW..SSW", "W..S.WW..SW.SS.W", "S...SS..SS......", "SS...SWW..W.S.W.", "W.WWW.SSS.SS.WWW", "W...WW..WW......" }
Returns: 13
{"SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS", "SSSSSSSSSSSSSSSS" }
Returns: 0
{"SWSSS", "SSWSS", "WWSSS", "WWSSS", "SSWSS" }
Returns: 6
{"WWWWWWWWSSSSSSSS", "WSWSWSWSWSWSWSWS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "WSWSWSWSWSWSWSWS", "WWWWWWWWSSSSSSSS", "WSWSWSWSWSWSWSWS", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "SWSWSWSWSWSWSWSW", "WWWWWWWWSSSSSSSS", "SWSWSWSWSWSWSWSW", "SWSWSWSWSWSWSWSW", "WWWWWWWWSSSSSSSS", "WWWWWWWWSSSSSSSS", "SSSSSSSSWWWWWWWW" }
Returns: 26
{".", "W", ".", "S", "." }
Returns: 1
{".W", "S." }
Returns: 1
{"WSWSWSW" }
Returns: 6
{"W.", ".S", "W.", ".S", "W.", ".S", "W.", ".S" }
Returns: 1
{"S.", ".W", "S." }
Returns: 1
{".W...S...W......", "S.WS..W.....S.W.", "...S..W.SW......", "............W...", ".S..W.........S.", "...S.S......W...", "................", "....W.....W.W...", "....W..W...W....", "........W.W.S..W", "S.WS.W..S.......", "....SW.........W", "........S...SW..", "S..WWW........WS", "..WS......WSS..S", "S..W...W.W....S." }
Returns: 16
{".S.........", ".....W.....", ".....S.S...", ".W.S.......", "...........", "........W..", ".WW....S...", "......S....", ".S.W..WW...", "...........", "W.........W", "......S....", "...........", "...........", "......W....", ".......S.W." }
Returns: 7
{"W........", ".S.......", "W........", ".S.......", "W........", ".S.......", "...S.S.S.", "....W.W.W" }
Returns: 2
{"S...", ".W..", "..S.", "...W" }
Returns: 3
{".S", "W.", ".S" }
Returns: 1
{"....SS", "....SS", "......", "......", "WW....", "WW...." }
Returns: 1
{"WWSSWWSSWWSSWWSS" }
Returns: 7
{"W..W.W.S.W.W.W..", "SS.........WWW.S", "SS..W.W......W..", ".S..W......W....", "....W.S.S.......", "WSS..S...WSS.SW.", ".SS..........S..", "W..W.......W....", ".W....S.........", "..SS....S..W..W.", "....W.W...S.....", ".W........SW.W.W", ".W....S...WW....", "..SS...S..S.....", ".S......S.W.....", ".S.........WWS.." }
Returns: 17
{"W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W.........S..W", "W.W..W...W..S..W", "W.W....S....S..W", "W.W......W..S..W", "W.W..S......S..W", "W.W....W.S..S..W" }
Returns: 6
{"S.S.S.S.S.S.", "S.S.S.S.S.S.", "............", "............", ".W.W.W.W.W.W", ".W.W.W.W.W.W" }
Returns: 1
{"WWSSWS..SWWWS.SW", "SW....W.SS.WWWW.", "W..SWSS.W.W..W.S", "WSWWS..SW.SSSWW.", ".SSWSSW.W.SW...W", ".W.S.WSWWS..WSWS", "W..W.WS....WW.WW", "WS..W...S.W.WW.S", "WSWS.SSS.WS.SW..", "WWSWW.WSWS.W.W.W", "SW.WW.S.WWSWWS..", "...SS.WS.W.WSWWS", ".SW..WSSWWW.WWSW", "S.WS.WSW.S..S.SW", "W....WWWWWSS..SS", "WWSWWW.SS.W.W..W" }
Returns: 30
{"WWSS.", "W.W.S", "WSWWS", "SWWSS", "S.SSW" }
Returns: 7
{"S", "W" }
Returns: 1
{"W..", "...", "..S" }
Returns: 1
{"W..", ".S.", "W..", ".SS", "W..", ".S.", "W..", ".S.", "W..", ".S.", "W..", ".S." }
Returns: 1
{"W.S.............", ".W.S............", "..W.S...........", "...W.S..........", "....W.S.........", ".....W.S........", "......W.S.......", ".......W.S......", "........W.S.....", ".........W.S....", "..........W.S...", "...........W.S..", "............W.S.", ".............W.S", "S.............W.", ".S.............W" }
Returns: 14
{"SSS...WWWSSS...W", "SS...WWW.SSS...W", "S...WWW..SSS...W", "...WWW...SSS...W", "...WWW...WW...SS", "...WWW...S...WWW", "...WWW......SSS.", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW", "...WWW...S...WWW" }
Returns: 7
{"...S.SW..S..SS..", ".S....W.....WS..", "....S..W...W....", "..SS..S....S....", "W.......S..WS...", "S.....WS...S..W.", "...W....WS......", ".....WW..S....S.", ".W.........SS.W.", "...S...WW.SS.W..", "..W....SWS......", "....WS.W........", "...W.W..S.......", ".........S...S..", "...S.....S.WW...", "...S.SW.....WS.." }
Returns: 19
{"...W", "....", "....", "....", "S..." }
Returns: 1
{"W.W.", ".S.S", "W.W.", ".S.S", ".W.W", "S.S." }
Returns: 4
{"SW..S", "..S..", "S..WS" }
Returns: 4
{".S", "W.", ".S", "W.", ".S", "W." }
Returns: 1
{"W.S", "SW.", "W.." }
Returns: 3
{"S.W.S" }
Returns: 2
{"...", "...", "..W" }
Returns: 0
{"S...S", ".....", "..W..", ".....", "S...S" }
Returns: 2