Problem Statement
Definition
- Class:
- Paths
- Method:
- secondBest
- Parameters:
- String[], int, int
- Returns:
- int
- Method signature:
- int secondBest(String[] graph, int from, int to)
- (be sure your method is public)
Notes
- The weight of an edge from node j to node i need not be the same as the weight of an edge from node i to node j.
- Nodes may have an edge pointing to themselves with non-zero weights.
Constraints
- graph will contain between 1 and 50 elements, inclusive.
- Each element of graph will contain the same number of characters as the number of elements in graph.
- Each element of graph may contain only digits or 'X'.
- from will be between 0 and the number of elements in graph-1, inclusive.
- to will be between 0 and the number of elements in graph-1, inclusive.
Examples
{"01111", "10111", "11011", "11101", "11110"}
0
0
Returns: 2
In this case, the best path may be no path at all or any number of moves from node 0 back to itself. In either case, the best path is 0. The second best path has a length of 2 and can be achieved by moving from node 0 to any other node, and then back to node 0.
{"1"}
0
0
Returns: 1
Since the starting node is the ending node, the best path is 0. The second best path is to move once from node 0 back to itself.
{"X1119", "1X119", "11X19", "111X1", "9111X"}
0
4
Returns: 3
{"X1119", "1X111", "11111", "111X1", "9111X"}
0
4
Returns: 3
{"X1110", "1X111", "11111", "111X1", "0111X"}
0
4
Returns: 2
{"X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XX9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999999999999X9XXXXXXXXXXXXXXXXXXXXX", "X999999999999999999999999999X9XXXXXXXXXXXXXXXXXXXX", "X9999999999999999999999999999X9XXXXXXXXXXXXXXXXXXX", "X99999999999999999999999999999X9XXXXXXXXXXXXXXXXXX", "X999999999999999999999999999999X9XXXXXXXXXXXXXXXXX", "X9999999999999999999999999999999X9XXXXXXXXXXXXXXXX", "X99999999999999999999999999999999X9XXXXXXXXXXXXXXX", "X999999999999999999999999999999999X9XXXXXXXXXXXXXX", "X9999999999999999999999999999999999X9XXXXXXXXXXXXX", "X99999999999999999999999999999999999X9XXXXXXXXXXXX", "X999999999999999999999999999999999999X9XXXXXXXXXXX", "X9999999999999999999999999999999999999X9XXXXXXXXXX", "X99999999999999999999999999999999999999X9XXXXXXXXX", "X999999999999999999999999999999999999999X9XXXXXXXX", "X9999999999999999999999999999999999999999X9XXXXXXX", "X99999999999999999999999999999999999999999X9XXXXXX", "X999999999999999999999999999999999999999999X9XXXXX", "X9999999999999999999999999999999999999999999X9XXXX", "X99999999999999999999999999999999999999999999X9XXX", "X999999999999999999999999999999999999999999999X9XX", "X9999999999999999999999999999999999999999999999X9X", "X99999999999999999999999999999999999999999999999X9", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}
0
49
Returns: 459
{"6X4XX50392", "95979050X4", "703X7X4218", "6602806624", "9828648374", "259507367X", "8810887807", "002378X847", "446X754724", "1128726659"}
3
3
Returns: 1
Random test case.
{"19999", "99999", "99999", "99999", "99999"}
0
4
Returns: 10
The only way to get the 2nd best path is to move once from node 0 back to itself and then move directly to node 4.
{"X11XX", "XXX1X", "XXXX1", "XXXX1", "XXXXX"}
0
4
Returns: 3
{"01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01XX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01X", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01", "1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0"}
2
1
Returns: 99
A ring of 50 nodes, where every node also points back to itself with a weight of zero. The second best path is to go around the ring twice.
{"X"}
0
0
Returns: -1
A second best path does not exist in this graph.
{"09XXXXXXXX", "0099999999", "0009999999", "0000999999", "0000099999", "0000009999", "0000000999", "0000000099", "0000000009", "0000000000"}
0
9
Returns: 27
Cycles all over the place.
{"0123456789", "9012345678", "8901234567", "7890123456", "6789012345", "5678901234", "4567890123", "3456789012", "2345678901", "1234567890"}
0
9
Returns: 19
At least 10 different optimal paths.
{"01111111111111111111111111111111111111111111111111", "X0111111111111111111111111111111111111111111111111", "XX011111111111111111111111111111111111111111111111", "XXX01111111111111111111111111111111111111111111111", "XXXX0111111111111111111111111111111111111111111111", "XXXXX011111111111111111111111111111111111111111111", "XXXXXX01111111111111111111111111111111111111111111", "XXXXXXX0111111111111111111111111111111111111111111", "XXXXXXXX011111111111111111111111111111111111111111", "XXXXXXXXX01111111111111111111111111111111111111111", "XXXXXXXXXX0111111111111111111111111111111111111111", "XXXXXXXXXXX011111111111111111111111111111111111111", "XXXXXXXXXXXX01111111111111111111111111111111111111", "XXXXXXXXXXXXX0111111111111111111111111111111111111", "XXXXXXXXXXXXXX011111111111111111111111111111111111", "XXXXXXXXXXXXXXX01111111111111111111111111111111111", "XXXXXXXXXXXXXXXX0111111111111111111111111111111111", "XXXXXXXXXXXXXXXXX011111111111111111111111111111111", "XXXXXXXXXXXXXXXXXX01111111111111111111111111111111", "XXXXXXXXXXXXXXXXXXX0111111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXX011111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXX01111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXX0111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXX011111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0"}
0
0
Returns: -1
{"01111111111111111111111111111111111111111111111111", "X0111111111111111111111111111111111111111111111111", "XX011111111111111111111111111111111111111111111111", "XXX01111111111111111111111111111111111111111111111", "XXXX0111111111111111111111111111111111111111111111", "XXXXX011111111111111111111111111111111111111111111", "XXXXXX01111111111111111111111111111111111111111111", "XXXXXXX0111111111111111111111111111111111111111111", "XXXXXXXX011111111111111111111111111111111111111111", "XXXXXXXXX01111111111111111111111111111111111111111", "XXXXXXXXXX0111111111111111111111111111111111111111", "XXXXXXXXXXX011111111111111111111111111111111111111", "XXXXXXXXXXXX01111111111111111111111111111111111111", "XXXXXXXXXXXXX0111111111111111111111111111111111111", "XXXXXXXXXXXXXX011111111111111111111111111111111111", "XXXXXXXXXXXXXXX01111111111111111111111111111111111", "XXXXXXXXXXXXXXXX0111111111111111111111111111111111", "XXXXXXXXXXXXXXXXX011111111111111111111111111111111", "XXXXXXXXXXXXXXXXXX01111111111111111111111111111111", "XXXXXXXXXXXXXXXXXXX0111111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXX011111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXX01111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXX0111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXX011111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0"}
0
49
Returns: 2
{"01111111111111111111111111111111111111111111111111", "X0111111111111111111111111111111111111111111111111", "XX011111111111111111111111111111111111111111111111", "XXX01111111111111111111111111111111111111111111111", "XXXX0111111111111111111111111111111111111111111111", "XXXXX011111111111111111111111111111111111111111111", "XXXXXX01111111111111111111111111111111111111111111", "XXXXXXX0111111111111111111111111111111111111111111", "XXXXXXXX011111111111111111111111111111111111111111", "XXXXXXXXX01111111111111111111111111111111111111111", "XXXXXXXXXX0111111111111111111111111111111111111111", "XXXXXXXXXXX011111111111111111111111111111111111111", "XXXXXXXXXXXX01111111111111111111111111111111111111", "XXXXXXXXXXXXX0111111111111111111111111111111111111", "XXXXXXXXXXXXXX011111111111111111111111111111111111", "XXXXXXXXXXXXXXX01111111111111111111111111111111111", "XXXXXXXXXXXXXXXX0111111111111111111111111111111111", "XXXXXXXXXXXXXXXXX011111111111111111111111111111111", "XXXXXXXXXXXXXXXXXX01111111111111111111111111111111", "XXXXXXXXXXXXXXXXXXX0111111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXX011111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXX01111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXX0111111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXX011111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0111", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX011", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX01", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0"}
0
1
Returns: -1
{"00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000"}
0
49
Returns: -1
Only optimal paths here.
{"00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000000", "00000000000000000000000000000000000000000000000001"}
0
0
Returns: 1
{"00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000009", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000008", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000006", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000005", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000004", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000003", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000002", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001", "00000000000000000000000000000000000000000000000001"}
25
25
Returns: 1
{"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}
0
49
Returns: -1
{ "X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "XX9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXXX", "X999999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXXX", "X9999999999999999999999999X9XXXXXXXXXXXXXXXXXXXXXX", "X99999999999999999999999999X9XXXXXXXXXXXXXXXXXXXXX", "X999999999999999999999999999X9XXXXXXXXXXXXXXXXXXXX", "X9999999999999999999999999999X9XXXXXXXXXXXXXXXXXXX", "X99999999999999999999999999999X9XXXXXXXXXXXXXXXXXX", "X999999999999999999999999999999X9XXXXXXXXXXXXXXXXX", "X9999999999999999999999999999999X9XXXXXXXXXXXXXXXX", "X99999999999999999999999999999999X9XXXXXXXXXXXXXXX", "X999999999999999999999999999999999X9XXXXXXXXXXXXXX", "X9999999999999999999999999999999999X9XXXXXXXXXXXXX", "X99999999999999999999999999999999999X9XXXXXXXXXXXX", "X999999999999999999999999999999999999X9XXXXXXXXXXX", "X9999999999999999999999999999999999999X9XXXXXXXXXX", "X99999999999999999999999999999999999999X9XXXXXXXXX", "X999999999999999999999999999999999999999X9XXXXXXXX", "X9999999999999999999999999999999999999999X9XXXXXXX", "X99999999999999999999999999999999999999999X9XXXXXX", "X999999999999999999999999999999999999999999X9XXXXX", "X9999999999999999999999999999999999999999999X9XXXX", "X99999999999999999999999999999999999999999999X9XXX", "X999999999999999999999999999999999999999999999X9XX", "X9999999999999999999999999999999999999999999999X9X", "X99999999999999999999999999999999999999999999999X9", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
0
49
Returns: 459
{ "X1", "XX" }
0
1
Returns: -1
{ "90X", "XX0", "5XX" }
0
0
Returns: 5
{ "X1", "0X" }
0
0
Returns: 1
{ "X1XXX", "XX13X", "XXX1X", "XXXX1", "XXXXX" }
0
4
Returns: 5
{ "X13", "X2X", "XXX" }
0
2
Returns: -1