Problem Statement
Johnny has to walk home from school, and wants to map out the best route to take, so that he has to cross as few streets as possible.
You are given a
For maximum safety, Johnny may only walk directly across a road, perpendicular to the traffic, never diagonally. All of Johnny's movements, onto and off of a road, and walking around town, should be in one of the four cardinal directions. Johnny may, however, cross roads that are multiple lanes wide, and doing so only counts as a single crossing. Two or more adjacent || characters are always considered to be a single road, and this works similarly for '-' characters that appear adjacent vertically.
For instance, the following requires only a single crossing, since it's a single two-lane road:
S.||.H
Also, a situation such as the following leaves Johnny with no safe way to walk home, since he cannot cross the road diagonally, and can only step onto and off a road in a direction perpendicular to the road:
S|| ||H
Also notice that because Johnny can never move diagonally, in the following case, Johnny cannot get home:
S.F .F. F.H
You are to return an
Definition
- Class:
- WalkingHome
- Method:
- fewestCrossings
- Parameters:
- String[]
- Returns:
- int
- Method signature:
- int fewestCrossings(String[] map)
- (be sure your method is public)
Notes
- If a street is more than one unit wide, it still only counts as a single crossing.
Constraints
- map will contain between 1 and 50 elements, inclusive.
- Each element of map will contain between 1 and 50 characters, inclusive.
- Each element of map will contain only the characters '.', '-', '|', '*', 'F', 'S', 'H'.
- There will be exactly one occurrence each of 'S' and 'H' in map.
- Each element of map will contain the same number of characters.
Examples
{"S.|..", "..|.H"}
Returns: 1
Here, Johnny lives right across the street from the school, so inevitably, he's crossing the street once to get home.
{"S.|..", "..|.H", "..|..", "....."}
Returns: 0
Similar to above, but since the road has a dead end (maybe even a cul-de-sac at the end), Johnny can get home without actually having to cross the road.
{"S.||...", "..||...", "..||...", "..||..H"}
Returns: 1
Notice here that even though it's a 2-lane highway, it only counts as a single crossing.
{"S.....", "---*--", "...|..", "...|.H"}
Returns: 1
Here, Johnny could go down across the street and then right across another street to his house. However, if he first goes to the right before crossing down, he will only cross 1 street.
{"S.F..", "..F..", "--*--", "..|..", "..|.H"}
Returns: 2
Similar to above, but because there's a fence around the school, Johnny has no choice but to cross twice.
{"S|||||||" ,"--------" ,"|||....." ,"|||....." ,"|||....H"}
Returns: -1
{"............|....","............|....","...F........|....","...F........|....","..FF........|....","..FF........|....","..FF........|....","..F.........|.FFF","..F.........|...|","..F.........|...|","..F.........|...|","..F.........|...|","..F.FFFFFFFF|FFF|","..F.........|...|","..F.........|...|","..F.........|....","..F.........|....","..F.........|....","..F.H.......|....","..F.........|....","------------*----","..F.........|....","..F..S......|....","............|....","............|...."}
Returns: 1
{"......--------------.","F|FFFFFFFFFFFFFFFFFFF",".|...................",".|............S......",".|...................",".|...................",".|...................",".|...................",".|........FFFFFFFFF..",".|...................",".|...................",".|...................","-*-------------------",".|...................",".|..............F.F..",".|..............F....",".|..H...........F....",".|..............F....",".|..............F....",".|..............F....","................F....",".....................","....................."}
Returns: 1
{"............................|.............","...................F........|.............","...................F........|.............","...................F........|.............","...................F........|.............","...................F........|.............","...................F........|....|........","...............F...---------*----*----S--.","...............F............|....|.|.|....","............................|....|.|.|....","............................|....|.|.|....",".....FFFFFFFFFFFFFFFFFFFFF..|....|.|......","............................|....|.|......","............................|.H..|.|......","............................|....|.|......","............................|......|......","............................|......|......","............................|......|......","----------------------------*------*------","............................|.............","................------------*--..........."}
Returns: 1
{"|","|","|","*","|","|","|","|","|","|","|","S","|","|","|","|","H","|","|","|"}
Returns: -1
{".................|.................",".................|.................",".................|.................",".................|.................",".................|.................","................-*--------.........",".................|.................","................F|.........|.......","................F|.........|.......","................F|.........|.......","................F|H........|.......","................F|.........|.......","................F|.........|.......","........S.......F|.................","................F|.................",".................|.................",".................|................."}
Returns: 1
{"...........|......||....","...........|......||H...","...........|......||....","...........|......||....","...........|......||....","...........|......||....","...........|......||....","...........|......||....",".....F.....|......||....",".....F.....|......||....","|....F.FFFF|FFFFFF||F...","|....F.....|......||....","|....F.....|......||....","|....F.....|......||....","|....F.....|......||....","|....F.....|......||....","|..........|......||....","|..........|......||....","|..........|FFFFFF||..F.","|..........|......||....","|..........|......||....","|..........|......||....","|..........|......||....","|..........|......||....","|.FFFFFFFFF|FFFFFF||....","...........|......|.....","...........|.S....|.....","...........|......|.....","-----------*------*-----"}
Returns: 1
{"|....|", "|....|", "|....|", "|...F|" ,"|---F|" ,"|...F|" ,"|...F|" ,"|...F|" ,"|...FH" ,"|....|" ,"|....|" ,"|FS..|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|....|" ,"|----|" ,"|....|" ,"|....|","|....|","|....|","*----*","|....|","|....|","|....|","|....|"}
Returns: -1
{"FFFF..............................................","..................................................","..................................................","..................................................",".....................................|............",".....................................|............",".....................................|............",".....................................|............","-------------------------------------*------------","..............................H......|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","................|..F.................|............","................|..F.................|............","................|..F.................|............","................|..F.................|............","................|.-------------------*----........","................|..F.................|............","................|..F.................|............","................|..F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F.................|............","...................F..............................","...................F..............................","...................F..............................","...............---------------------------------..","...................F............S................."}
Returns: 1
{"--------*-*-*----*-------*--*--------","...FFFFF|F|F|FFFFH.......|..|........",".......F..S......|..F.......|........"}
Returns: 1
{"*-SH","...F"}
Returns: 0
{"..F",".|F",".|F","H|F",".|F",".|.","...","---","...","S.."}
Returns: 1
{".....|.......|.|........|...............",".....|.......|.|........|...............",".....|.......|.|........|...............","....||.......|.|........|...............","....||.......|.|........|...............","....||....|..|.|........|...............","....||....|..|.|........|...............","....||....|..|.|........|...............","....||....|..|.|........|..|............","....||....|..|.|........|..|............","....||....|..|.|........|..|............","....||....|..|.|........|..|............","....||...F|.||.|........|..|............","....||...F|.||.|........|..|............","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|..|..........|.","....||...F|F||F|FFFFFFFF|FF|..........|.","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|..|..........|.","....||...F|.||.|........|.............|.","....||...F|.||.|........|.............|.","....|....F|.||.|........|.............|.",".........F|.||.|........|.............|.","..........|.||F|FFFFFFFF|.............|.","..........|.||.|........|.............|.","..........|.||.|........|.............|.","..........|.||.|........|.............|.","..........|.||.|........|.............|.","..........|.||.|........|.............|.",".....H....|.||.|........|.............|.","..........|.||.|........|...............","..........|.||.|...-----*------------...",".............|..........|...............",".............|..........|.....S.........",".............|..........|..............."}
Returns: 2
{".|...................|......|.............",".|...................|......|.............",".|...................|......|.............",".|.............|.....|......|.............",".|.............|.....|.S....|.............",".|.............|.....|......|.............",".|.............|.....|....|.|.............",".|.------------*-----*----*-*---..........",".|.............|.....|....|.|.............",".|..|..........|.....|....|.|.............",".|..|..........|.....|....|.|...........F.",".|..|..........|.....|....|.|...........F.",".|..|..........|.....|....|.|...........F.",".|..|................|....|.|...........F.",".|..|................|....|.|.............",".|..|................|....|.|.............",".|...................|....|.|.............",".|...................|....|.|.............",".|...................|....|.|.............",".|.....--------------*......|.............",".|...................|......|.............",".|...................|......|.............",".|...................|......|.............",".|............H......|......|............."}
Returns: 1
{"--------------------------...",".............................","........................H.|..","..........................|..","..FFFFFFFFFFFFFFFFFFFFFFFF|..","..........F...............|..","..........F...............|..","FFFFFFFFFFFFFFFFFFFFFFFF..|..","..........F...............|..","..........F...............|..","..........FS..............|..","..........F...............|..","..........F...............|..","..........F...............|..","..........F...............|..","..........................|..","..........................|..","..........................|..","..........................|..","..........................|..","..........................|..","..........................|..","..........................|..",".........F................|..",".........F..FFFFFFFFFFFFFF|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..",".........F................|..","...FFF...F................|..",".........F................|..",".........F...................",".........F...................",".........F...................",".........F...................",".........F...................",".........F...................",".........F...................",".............................",".............................",".............................","............................."}
Returns: 0
{"..............................................","...................|..........................","...................|..........................","...................|..........................","...................|..........................","...................|..........................","...................|..........................","F..................|..........................","F..................|...F......................","F..................|...F......................","F..................|...F...................|..","F..................|.FFFFFFFFFFFFFFFFFFFFFF|..","F.................||...F.........F.........|..","F..........-------**-----........F.........|..","F.................||...F.........F.........|..","F.................||...F.........F.........|..","F............|....||...F..H......F.........|..","F............|....||...F.........F.|.......|..","-------------*----**---------------*-------*..","..................||.............F.|.......|..","..................||...............|.......|..","..................||...............|.......|..","..................||...............|.......|..","...................|...............|.......|..","...................|...............|.......|..","..................S|...............|.......|..","-------------------*---------------*----------","...................|...............|..........","...................|...............|..........","...................|...............|..........","-------------------*---------------*----------","...................................|..........","...................................|..........","...................................|..........","...................................|..........","...................................|..........",".............................................."}
Returns: 2
{"....|..........|.","....|..........|.","....|..........|.","....|..........|.","....|..........|.","....|..........|.",".---*---------.|.","----*----------*-","....|..........|.","....|..........||","....|..........||","....|..........||","....|..........||","....|..........||","....|.---------*|","....|F.........||","....|.....S....||","....|..........||","....|..........||","....|..........||","F...|..........||","F...|..........||","F...|..........||","F...|..........|.","F...|..........|.","F...|..........|.","F...|..........|.","F..F|F.........|.","H...|..........|.","F...|..........|.","F...|..........|.","F...|..........|.","F...|..........|.","F...|..........|.","F...|..........|.","F...|..........|.","....|..........|.","....|..........|.","....|............","....|............","....|............","....|............","....|............"}
Returns: 1
{"..|..||.|..|.|.|..|.|..............|.......","..|..||.|..|.|.|..|.|..............|.......","..|..||.|..|.|.|..|.|..............|.......","..|..||.|..|.|.||.|.|.............||.......","..|..||.|..|.|.||.|.|.............||.......","..|..||.|..|.|.||.|.|.............||.|||...","..|..||.|..|.|.||.|.|.............||.|||S..","--*--**-*--*-*-****-*-------------**-***---","..|..||.|..|.|.||||.|.............||.|||...","..|..||.|..|.|.||||.|.............||.|||...","..|..||.|..|.|.||||.|.............||.|||...","|.|..||.|..|.|.||||.|.............||.|||...","|.|..||.|..|.|.||||.|.....|...F...||.|||...","|.|..||.|..|.|.||||.|.....|...F...||.|||...","|.|..||.|..|.|.||||||..|..|...F...||||||...","|.|..||.|..|.|.||||||..|..|...F...||||||...","|.|..||.|..|.|.||||||..|..|...F...||||||...","|.|..||.|..|.|.||||||..|..|...F...||||||...","|.|..||.|..|.|.||||||..||.|...F...||||||...","|.|..||||..|.|.||||||..||.|...F..|||||||...","|.|..||||..|.|.||||||..||.|...F..|||||||...","|.|..||||..|.|.||||||..||.|...F..|||||||...","|.|..||||..|.|.||||||..||.|...F..|||||||...","|.|..||||..|.|.||||||..||.|...F..|||||||...","|.|..||||..|.|.||||.|..||.|...F...|||||.F..","|.|..||||..|.|.||||.|..||.|...F...|||||.F..","|.|..||||..|.|.||||.|..||.|...F...|||||.F..","|.|..||||..|.|.||||.|..||.|...F...|||||.F..","|.|..||||..|.|.||||.|..||.|...F...||||..F..","|.|..||||..|.|.||||.|...|.|...F...||||..F..","|.|..||||..|.|.||||.|...|.|...F...||||..F..","|.|..||||..|.|.||||.|...|.|...F...||||..F..","|.|..||||..|.|.|.||.|...|.|...F....|||..F..","|.|..||.|..|.|...||.|...|.|...F....|||H.F..","|.|..||.|..|.|...||.|...|.|...F....|||..F..","|.|..||.|..|.|...||.|...|.|...F....|||..F..","|.|..||.|..|.|...||.|...|.|...F....|||..F..","|.|..||.|..|.|...||.|...|.|...F....|||.....","|.|..||.|..|.|...|*-*---*-*...F....|||.....","..|..||.|..|.|...||.|.........F....|.|.....","..|..||.|..|.|...||.|.........F....|.|.....","..|..||.|..|.|....|.|.........F....|.......","..|..|..|..|.|....|.|.........F....|.......","..|..|..|..|.|....|.|.........F....|......."}
Returns: 1
{"H|S"}
Returns: 1
{"|||||||||||||||||||||||||||||||||||||||||||||||||." ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"S||||||||||||||||||||||||||||||||||||||||||||||||." ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||-" ,"|||||||||||||||||||||||||||||||||||||||||||||||||H"}
Returns: 2
{"H|.|.|.|.|.|.|.|.|.|.|.|.|.", "F|F|F|F|F|F|F|F|F|F|F|F|F|-", "S|.|.|.|.|.|.|.|.|.|.|.|.|."}
Returns: 27
Poor Johnny lives so close to school, but that fence makes him cross the street quite a bit just to get home.
{"S|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", "*************************************************-", ".||.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.", "-*************************************************", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||.", ".|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.|.||H"}
Returns: 624
{ ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "...S.||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", "-----**----------***--------*-----*--------*------", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.H...|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......"}
Returns: 8
{ ".....||..........|||........|.....|.......F|......", ".....||..........|||........|.....|.......F|......", ".....||..........|||........|.....|FFFFFF..|...S..", ".....||..........|||........|.....|.......F|......", ".....||..........|||........|.....|........|F.F.F.", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|.F.F.F", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....*--------*......", ".....||..........|||........|.....*--------*......", ".....||..........|||........|.....|..F.F..........", ".....||..........|||........|.....|.F.H.F.........", ".....||..........|||........|.....|F..............", ".....||..........|||........|.....................", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", "-----**----------***--------*-----*--------*------", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......", ".....||..........|||........|.....|........|......"}
Returns: 3
{"S-H"}
Returns: -1
{ ".F-H", "S.|F" }
Returns: -1
{ "S..", "--F", "-|.", ".FH" }
Returns: -1
{ "S|F", "F-H" }
Returns: -1
{ "|...F...F...F...F....||||........-.....|.......|||", "..F...F...F...|.|.F...||....-.-.......||..........", ".S.|||||||||||||||||||||||||||-||||||||||||||||||-", "FFFFFFFFFFFFFFFFFFFFFFFFFFFF-.-...F............F..", "||||||||||||||||||||||||||.|...FFF.............F--", "...................FFFFFFFFFFFFF...............F.|", "...............................................F.|", "...............................................F-.", "...............................................F..", "...............................................F--", "...............................................FF-", "..||||||||||||||||||||||||||||||||||||||||||||||..", "...............................................FFF", "FFFFFFFFFFFFFFF|FF-FFFFFFFFFFFFFFFFFFFFFFFFFFF--..", ".|...|............-................F..............", "..|.|.|..........|.||..F....F..F...F..............", "||||...|.........||||...F..F....F......FFFFFFFFFFF", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF--------------", "...........|||||....................---...........", ".............|.|....................-F-...........", ".............|.|....................---...........", ".............|.|....................-.-...........", "--------------F|....................|.-...........", "FFFFFFFFFFFF-FF|....................-.-...........", "...........|.|F.....................-.-...........", "FF-FFFFFFFFF-FF.....................||.||||.......", "||...|.F....|..FF.....................|....FFFFFFF", ".|||...F.........F.....FF..FF..F.F.F.F.F.F.F......", "......F...........FF-FF..FF..FF.F.F.F.F.F.F.......", "......F............F..............................", ".....F.............F..............................", ".....F.F...........FFFFFFFFFFFFFFFFFFFFFFF-FFF....", ".....FFFF.................................-.......", "........FF................................-.......", "........F.FF..............................-.......", "........FF................................-.......", "........F...F.............................-.......", "........F....F............................-.......", ".......FF.....F..........................F-.....FF", "........F......F..........................-||||||.", "........F.................................-F.H.|..", ".........FFFFFFFFFF.......................-.|||...", ".........F.|-......F......................-..F....", "...........|-.......FFFFFFFFFFFFFFFFFFFFFFFFF...F.", ".........F.|-................F....F.....||||||||.-", ".........F.--.................F...F....F..........", ".........F.-.......FF.......F.....F...F...........", ".-.....--F.||||||||..F.....F....F----F...........-", "....-----F.-..........F......-...F..F............-", ".--------F.-.......................F...........||-" }
Returns: 20
{ "S.|..", "..|.H", "..|..", "....." }
Returns: 0
{ "S||-H" }
Returns: -1
{ "S|||||H" }
Returns: 1
{ "S||", "||H" }
Returns: -1
{ "S|H", "..." }
Returns: 0
{ "S.................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", "..................................................", ".................................................H" }
Returns: 0
{ "|...F...F...F...F....||||........-.....|.......|||", "..F...F...F...|.|.F...||....-.-.......||..........", ".S.|||||||||||||||||||||||||||-||||||||||||||||||-", "FFFFFFFFFFFFFFFFFFFFFFFFFFFF-.-...F............F..", "||||||||||||||||||||||||||.|...FFF.............F--", "...................FFFFFFFFFFFFF...............F.|", "...............................................F.|", "...............................................F-.", "...............................................F..", "...............................................F--", "...............................................FF-", "..||||||||||||||||||||||||||||||||||||||||||||||..", "...............................................FFF", "FFFFFFFFFFFFFFF|FF-FFFFFFFFFFFFFFFFFFFFFFFFFFF--..", ".|...|............-................F..............", "..|.|.|..........|.||..F....F..F...F..............", "||||...|.........||||...F..F....F......FFFFFFFFFFF", "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF--------------", "...........|||||.......FF......|....---...........", ".............|.|...............|....-F-...........", ".............|.|.......FFFFFFF--FFF.---...........", ".............|.|.......F.....F..F...-.-...........", "--------------F|.......F.....F--F.FF|.-...........", "FFFFFFFFFFFF-FF|.......F.....F..F...-.-...........", "...........|.|F........F.....F--FFF.-.-...........", "FF-FFFFFFFFF-FF........F.....F......||.||||.......", "||...|.F....|..FF......F..............|....FFFFFFF", ".|||...F.........F.....FF..FF..F.F.F.F.F.F.F......", "......F...........FF-FF..FF..FF.F.F.F.F.F.F.......", "......F............F..............................", ".....F.............F..............................", ".....F.F...........FFFFFFFFFFFFFFFFFFFFFFF-FFF....", ".....FFFF.................................-.......", "........FF................................-.......", "........F.FF..............................-.......", "........FF................................-.......", "........F...F.............................-.......", "........F....F............................-.......", ".......FF.....F..........................F-.....FF", ".FFFFFF.F......F..........................-||||||.", ".||...F.F.................................-F.H.|..", "-.....F..FFFFFFFFFF.......................-.|||...", "......F..F.|-......F......................-..F....", "......F....|-.......FFFFFFFFFFFFFFFFFFFFFFFFF...F.", "......F..F.|-................F....F.....||||||||.-", ".........F.--.................F...F....F..........", ".........F.-.......FF.......F.....F...F...........", ".-.....--F.||||||||..F.....F....F----F...........-", "....-----F.-..........F......-...F..F............-", ".--------F.-.......................F...........||-" }
Returns: 22