Statistics

Problem Statement for "GraphPaths"

Problem Statement

You will be given a String[] representing a directed graph. Each element will be formatted as follows:
Node1 Node2 Node3 ...
where NodeJ is a number (0-indexed) representing a node. Element K of the String[] graph will list all of the nodes that node K has a directed edge to. For example:
graph = {"1 2 3",
	 "0 1 2",
	 "0",
	 "1 2"}
Represents a directed graph where:
node 0 has a directed edge to nodes 1, 2, and 3,
node 1 has a directed edge to nodes 0, 1 and 2,
node 2 has a directed edge to node 0, and
node 3 has a directed edge to nodes 1 and 2.
Given a String[] formatted as above representing the directed graph, an int representing the starting node, an int representing the destination node, and an int representing the path length, determine how many unique paths exist from the starting node to the destination node of the specified length. Note, the paths may contain cycles. The length of a path is how many edges it traverses, possibly counting an edge more than once if the path contains a cycle.

If the total number of paths is greater than 2^63-1 (the limit of a long), return -1

Definition

Class:
GraphPaths
Method:
howMany
Parameters:
String[], int, int, int
Returns:
long
Method signature:
long howMany(String[] graph, int start, int destination, int length)
(be sure your method is public)

Notes

  • Two paths are unique if they differ at any node. For example: A->B->C->B is unique from A->C->B->B which are both unique from A->B->B->C.

Constraints

  • graph will contain between 1 and 50 elements inclusive
  • Each element of graph will have length between 1 and 50 inclusive
  • Each element of graph will be a single-space delimited string of zero or more integers with no leading zeros
  • Each element of graph will contain no leading or trailing whitespace
  • Each integer in each element of graph will be between 0 and (size of graph - 1) inclusive where size of graph is the number of elements in graph
  • Each element of graph will not contain any repeated integers
  • start will be between 0 and (size of graph - 1) inclusive
  • destination will be between 0 and (size of graph - 1) inclusive
  • length will be between 1 and 1,000,000,000 inclusive

Examples

  1. {"1 2 3", "0 1 2", "0", "1 2"}

    0

    1

    2

    Returns: 2

  2. {"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"}

    0

    1

    1

    Returns: 1

  3. {"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"}

    0

    1

    2

    Returns: 20

  4. {"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"}

    0

    20

    15

    Returns: 0

  5. { "1", "2", "3", "4", "5", "0 3" }

    0

    0

    10000001

    Returns: 0

    Note that all paths from 0 to 0 have length divisible by 3.

  6. { "1 2", "0", "0" }

    0

    0

    126

    Returns: -1

    The actual answer to this is 2^63, but that is outside of the range for a long, so we return -1.

  7. {"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20", "2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20", "3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21", "4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22", "5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22", "6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23", "7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24", "8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24", "9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25", "10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26", "11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27", "12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28", "13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29", "14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30", "15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31", "16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32", "17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33", "18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34", "19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35", "20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36", "21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37", "22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38", "23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39", "24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40", "25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41", "26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42", "27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43", "28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44", "29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45", "30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46", "31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47", "32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48", "33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49", "34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 0", "35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 0 1", "36 37 38 39 40 41 42 43 44 45 46 47 48 49 0 1 2 3", "37 38 39 40 41 42 43 44 45 46 47 48 49 0 1 2 3 4", "38 39 40 41 42 43 44 45 46 47 48 49 0 1 2 3 4 5 6", "39 40 41 42 43 44 45 46 47 48 49 0 1 2 3 4 5 6 7", "40 41 42 43 44 45 46 47 48 49 0 1 2 3 4 5 6 7 8 9", "41 42 43 44 45 46 47 48 49 0 1 2 3 4 5 6 7 8 9 10", "42 43 44 45 46 47 48 49 0 1 2 3 4 5 6 7 8 9 10 11", "43 44 45 46 47 48 49 0 1 2 3 4 5 6 7 8 9 10 11 12", "44 45 46 47 48 49 0 1 2 3 4 5 6 7 8 9 10 11 12 13", "45 46 47 48 49 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "46 47 48 49 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15", "47 48 49 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16", "48 49 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "49 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"}

    0

    4

    16

    Returns: 2396026458388249708

  8. {"0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"}

    0

    1

    15

    Returns: 1638400000000000000

  9. {"0"}

    0

    0

    100

    Returns: 1

  10. {"0 1","1 0 2","2","0 2"}

    3

    2

    65

    Returns: -1

  11. {"0 1 2 3", "0 1 2 3", "0 1 2 3", "0 1 2 3"}

    2

    2

    63

    Returns: -1

  12. {"0 1 2","0 1 2","2"}

    0

    2

    63

    Returns: 9223372036854775807

  13. {"0"}

    0

    0

    1

    Returns: 1

  14. {"4 11", "5 6 11", "5 7 12 13", "10 12", "0 4 5 7 9 11 13", "0 4 5 8 14", "0 3 9 10 11 12", "6 8 14", "3 4 6 8 9 10 13", "3 4 8", "0 1 2 5 9 10 11 14", "4 6 9 13 14", "1 3 8 11 13 14", "3 7 9 12", "2 3 4 7 12"}

    4

    10

    114134566

    Returns: -1

  15. {"1", "0 1", "0"}

    2

    1

    227592933

    Returns: -1

  16. {"0 2 5 6 7 9 10", "2 3 5 7 8 9", "2 3 4 6 9", "2 3 4 7 9", "2 3 5 7 10", "0 1 2 3 5 6 8 10", "1 2 3 4 6 7 8", "1 2 3 5 10", "0 2 3 4 7", "0 3 4 7 8 9 10", "3 4 5 6 9 10"}

    6

    6

    489082941

    Returns: -1

  17. {"1 2 4 5 7 8 10 11 12 13 14", "0 2 3 5 6 7 10 14", "3 7 8 9 11 12 14", "0 1 3 4 6 8 10 13", "4 5 13 14", "7 9 10 11 14", "1 2 5 6 7 8 9 11 14", "2 6 7 11 13", "2 3 5 6 7 9 10 11 12 13 14", "1 2 5 9 11 12", "2 3 4 5 6 7 8 11 13", "1 2 4 6 7 8 9 10 11 13", "1 4 6 7 8 11", "0 2 5 8 10 11 12 14", "0 1 5 9 11 12 14"}

    4

    0

    206191104

    Returns: -1

  18. {"0 1", "0 3", "1 2 3", "1 2"}

    1

    0

    710022369

    Returns: -1

  19. {"1 2 3 4 5 6 7 8 9", "0 1 2 5 6 8 9", "0 1 3 4 5 6 7 8 9", "1 3 4 5 6 9", "0 1 2 3 5 6 7 8 9", "1 2 4 6 7 8", "0 1 2 5 6 7 8 9", "3 4 5 7 8 9", "0 1 2 5 7 8", "0 1 2 3 4 5 6 7 8 9"}

    8

    7

    243110161

    Returns: -1

  20. {"0 1 8", "0 3 4 5 6 10", "0 4 10", "0 4 6 7 9 12", "0 1 2 3 4 6 7 10", "0 1 3 5 6 11 12", "0 4 6 11 12", "1 3 5 7 9", "0 2 4 5 7 8 10 11 12", "1 2 3 5 6 8 9 11", "1 2 7 8 9 10 11", "0 2 6 7 8", "0 2 4 6 7 8 12"}

    2

    8

    742801170

    Returns: -1

  21. {"2 4 5 6 9 10 11 12 13 15 17", "0 4 5 6 8 10 11 12 14 15 16", "1 2 3 4 5 8 10 11 12 13 14 17", "1 3 4 6 8 11 12 14 17 18", "1 3 4 6 7 8 9 11 12 13 14 17 18", "0 3 5 6 11 12 14 16 17 18", "0 1 2 3 4 5 6 7 8 9 12 15 16 17", "0 1 2 3 6 9 10 14 15 16 17 18", "0 3 4 5 8 10 12 14 16 17", "2 3 4 5 8 11 13 14 15 16 17 18", "0 1 2 3 4 7 8 9 10 13 14 15 16 17 18", "0 1 2 5 8 9 10 15 17 18", "2 4 5 6 8 9 11 14 16 17 18", "0 1 2 3 4 7 8 9 10 11 12 13 15", "0 2 8 9 10 13 14 15 18", "1 2 3 4 7 9 10 11 12 15 16 18", "0 1 3 4 6 8 11 12 14 15 17", "0 1 3 4 6 9 10 13 14 15 16 17 18", "0 3 4 6 8 9 10 12 13 15 16 17 18"}

    15

    10

    518520184

    Returns: -1

  22. {"0 1 2 3 4", "2 3 4", "0 3", "0 2 3", "0 1 2 3"}

    2

    3

    64219987

    Returns: -1

  23. {"3 6 8 9", "0 5", "4 5 11", "2 4 5 7 10", "1 2 4 6 7 11", "2 3 5 6 7 8 9", "3 6 7 8", "0 1 6", "2 3 4 5 7 11", "4 6 8 10", "0 2 3 4 5 10 11", "0 1 3 4 5 8 11"}

    4

    5

    850815815

    Returns: -1

  24. {"0 1 2 3 4 5 6 7 8 9 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 5 6 7 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 6 8 9 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 9 10 11 12 13 14"}

    0

    3

    855344719

    Returns: -1

  25. {"6 13 15 17 18", "14 18", "0 2 8 12 15 16 18", "1 15", "1 10 11 14", "4 8 9 12 14 16 17 18", "1 6 17", "0 10 11 12 14 15", "0 1 2 6 7 8 10", "6 7 10 14", "2 3 9", "4", "12 15", "15 16", "2 7 8 9 12 14 17 18", "7 10 11 12 13 16 17", "2 5 7 8 9 12 17 18", "0 5 8 11 12 13 16", "17 18"}

    7

    16

    950102471

    Returns: -1

  26. {"2 3 6", "2 3 7", "0 1 2 6 7", "0 1 2 4 5 6 7 8", "0 1 2 7 8", "0 1 2 3 6", "0 3 4 5 6 7 8", "0 1 2 5 6 7", "0 1 2 5 6 7"}

    0

    6

    932085777

    Returns: -1

  27. {"1 11 13 16", "16 18", "3 11 15 16", "1 4 11", "6 13 18", "1 3 5 7 10 12 16 17 18", "0 4 12", "0 4 8 13 16", "15 16", "1 5 8 14 18", "0 2 10 12 13", "11 13 16 17", "1 8 9 15 18", "3 4 16", "4 7 10", "0 7 15 17", "6 18", "1 9 10 13 17", "5 7"}

    15

    10

    936975842

    Returns: -1

  28. {"2 4 5 7 9 10 12 16 18", "1 2 3 5 6 7 9 12 13 14 16 18", "0 1 3 5 6 7 8 9 10 11 13 14 16 18", "0 1 3 4 7 8 10 11 12 13 15 16", "2 3 4 7 8 9 10 12 14 15", "0 2 3 4 5 6 8 9 11 12 13 16 17 18", "0 1 2 3 4 6 8 10 11 12 13 14 15 17", "2 3 4 5 7 8 9 10 12 15 16 17 18", "1 2 3 4 6 9 10 11 12 14 15 17 18", "1 2 3 4 5 6 7 8 9 12 13 14 17", "2 3 4 6 7 9 10 11 12 13 15 16 17", "0 1 6 7 8 10 11 12 13 15 18", "0 1 2 7 8 11 12 14 15 17 18", "0 1 2 3 7 8 9 10 11 12 13 15 17 18", "0 1 2 3 4 5 7 8 9 10 12 13 14 15 16 17 18", "0 3 4 5 6 7 8 9 10 11 12 13 14 16 18", "2 3 4 5 6 7 9 13 14 15 16 18", "2 4 5 6 7 9 10 11 14 15 16 17", "0 3 4 6 10 11 13 14 15 18"}

    0

    14

    664756047

    Returns: -1

  29. {"0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8"}

    0

    2

    584081790

    Returns: -1

  30. {"0 1 2", "0 2", "0 1 2"}

    0

    1

    930735637

    Returns: -1

  31. {"1 3 6 8", "6 7 8", "0 4 5", "2 4 5 6", "3 5 7 8", "0 2 3 4 5 6 7 8", "0 1 2 3 4 7", "0 2 3 4 5 6 8", "0 1 2 3 6 8"}

    4

    7

    865536291

    Returns: -1

  32. {"1 2", "1 2", "0 1 2"}

    2

    0

    71420278

    Returns: -1

  33. {"10", "0 9", "10", "7 8", "4 6 9 10", "2 7 8", "9 10", "1 7 8", "7 10", "1", "4 9 10"}

    10

    3

    973605192

    Returns: 0

  34. {"3 9", "2 3 4", "6 7 9", "3 4", "0 1 2 8 10", "4 6 10", "0 5 6 9 10", "0 5 7 10", "0 2 3", "4 5 10", "3 4 7 10"}

    5

    0

    400318088

    Returns: -1

  35. {"0 1 4 6 7", "0 1 2 6 8", "2 5 8", "0 3 4 5 6 7", "2 4 5 6", "4", "0 2 3 4 6 8", "0 4 5 6 7 8", "0 1 2 3 5 6"}

    4

    8

    739765154

    Returns: -1

  36. {"0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 3 4 5 6 7 8"}

    3

    2

    87569587

    Returns: -1

  37. {"9", "1 2", "0 3 9", "0 5 10", "6 7", "0 1", "2 5 10", "2", "4", "7 8 10", "2 3 6 9 10"}

    7

    7

    279928167

    Returns: -1

  38. {"0 1 2 3 5 6 7 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 5 6 7 8 9 10 11 12 13", "0 1 2 3 4 5 6 7 8 9 10 11 13 14", "0 1 2 3 4 6 8 9 10 11 12 14", "0 1 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 2 3 4 5 6 7 9 10 11 12 13 14", "0 1 2 5 6 7 8 9 10 11 12 14", "0 1 2 4 5 6 7 8 9 10 13 14", "0 1 2 4 5 7 8 9 10 11 12 13", "1 3 4 5 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 12 13 14"}

    7

    11

    248284313

    Returns: -1

  39. {"1 2 3 4 6 7 8 9 11 18", "4 9 10 12 13 14 19", "1 2 3 5 8 11 19", "3 4 7 8 10 11 19", "0 1 3 4 5 8 11 19", "3 4 8 9 11 16", "4 7 12 18 19", "1 3 4 5 7 9 15 16 19", "1 3 10 11 16 18", "3 5 7 8 10 16 19", "1 2 3 4 6 7 10 11 17", "4 5 6 11 12 13 14 18 19", "4 5 8 11 16 19", "0 1 7 9 10 11 13 15 16", "3 4 6 7 13 15 17", "0 1 2 3 6 7 8 10", "4 8 9 11 15 17 19", "1 2 4 8 9 13 17 19", "1 3 6 12 15", "3 5 6 9 10 11 13 18"}

    10

    8

    639042797

    Returns: -1

  40. {"0 1 4 6 9 10 11 12 13", "0 2 4 5 6 8 9 10 12 13", "0 1 3 4 5 6 7 8 9 10 11 12 13", "0 1 2 3 4 5 7 8 9 10 11 12 13", "0 2 3 4 6 7 8 11 12 13", "0 2 3 4 5 6 7 8 10 11 12", "0 1 2 3 5 6 8 9 10 11 12", "0 1 2 3 5 6 9 10 11", "0 1 2 3 4 5 6 7 8 9 11", "0 2 3 4 5 6 9 10 11 12", "0 1 2 3 4 5 6 8 9 11 12 13", "2 3 4 5 7 8 9 10 12", "3 4 5 6 7 8 9 10 12", "0 1 2 4 5 6 8 10 11 12 13"}

    8

    1

    919862648

    Returns: -1

  41. {"0 1 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18", "0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18", "0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18", "0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18"}

    13

    1

    703653894

    Returns: -1

  42. {"0", "1"}

    1

    0

    543107956

    Returns: 0

  43. {"2 3 5 7 9 10", "2 3 7 8 9", "1 2 3 4 5 6 7 10 11 12 13", "0 1 7 8 13 14", "0 4 6 8 9 10 14", "2 3 4 5 7 8 9 10 11 13 14", "0 1 3 6 8 9 11 13", "2 6 7 10 11 12 13", "3 5 9 10 11 12 13 14", "0 2 4 5 7 8 14", "0 1 4 6 7 10 14", "0 1 2 3 5 6 12", "0 2 3 4 7 9 11 12 13", "0 4 5 6 9 11 12 14", "3 5 12 14"}

    1

    6

    175764100

    Returns: -1

  44. {"1 2 3 4 7 12", "11", "2 8", "1 4 5 6 9 10 12", "1 4 6 10 11", "0 2 6 7", "0 1 4 6 7 8 11", "0 1 4 7 8", "1 3 7 8 9 11 13", "0 3 6 7 8", "0 6 8 9 10", "0 3 4 9 13", "1 2 11 12", "3 5 6 10 11"}

    7

    7

    560178469

    Returns: -1

  45. {"0 1 2 3 4 5 6 7 9 10 12 13 14 15 16", "0 1 3 4 5 6 7 8 9 10 11 12 14 15 16", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 16", "0 1 3 5 6 8 9 10 11 13 14 15 16", "0 1 2 3 5 6 8 9 10 11 12 13 14 15 16", "0 1 3 4 5 7 8 9 10 11 12 14 15 16", "0 1 2 3 4 5 6 7 8 9 10 11 13 14 15", "0 1 3 4 5 6 7 8 9 10 11 13 14 15 16", "3 4 5 6 9 10 11 12 13 14 15 16", "0 2 3 5 6 7 8 9 11 12 13 14 16", "0 1 2 3 4 5 7 8 9 10 12 14 15", "1 2 4 5 7 8 9 12 13 14 15 16", "0 1 2 3 4 5 6 7 9 10 11 14 15 16", "0 2 3 4 5 6 7 8 9 10 11 12 15", "0 1 3 5 6 7 8 10 11 12 15 16", "0 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16"}

    16

    1

    737514092

    Returns: -1

  46. {"0 1 2 3 4 6", "1 2 3 6", "2 3 4 6", "2 3 4 6", "0 1 5 6", "1 2 3 5 6", "0 1 2 5 6"}

    4

    3

    19349102

    Returns: -1

  47. {"0 1 3 4 5 6", "0 4 5 6", "0 1 2 4 5 6", "0 1 2 3 4 5 6", "1 2 3 5 6", "0 1 5 6", "0 2 5 6"}

    1

    2

    461460768

    Returns: -1

  48. {"1", "0 3 4 5", "0 1 2 3", "1 2 3", "1 4 5", "0 2 4"}

    4

    3

    947911824

    Returns: -1

  49. {"0 1 4 8 10 11", "0 2 7 8", "8", "5", "1 4 7 9", "2 7", "1 8 10 12", "2", "0 2 3 5", "0 2 6 7 9 11", "0 7 8 10", "0 1 6 7", "11"}

    11

    8

    641327349

    Returns: -1

  50. {"0 1 3 4 5 6 8 9 10 11 12 14 15 16 17", "0 1 2 4 5 6 7 8 9 12 13 14 15 16 17", "0 1 2 3 4 6 7 8 9 11 12 13 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 3 4 5 6 8 9 10 12 13 14 15 16 17", "0 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 14 15 16", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17", "0 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17", "0 1 3 4 5 6 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 5 6 7 8 9 10 11 12 13 15 16", "0 1 2 3 4 5 6 7 8 10 11 12 13 14 16 17", "0 1 2 4 5 6 7 8 11 12 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16"}

    1

    0

    18864031

    Returns: -1

  51. {"0 2 5 6 8 9 10 12 13 15 16", "0 4 5 7 11 13 14 16", "4 7 10 12 16 17", "0 1 2 3 4 5 6 8 9 12 13 14 16 17", "3 6 7 8 9 10 13 14", "2 3 5 6 7 10 12 14 15 16", "1 3 4 5 6 7 9 12 13 14 15 17", "3 4 5 7 10 13 15 16", "0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 17", "2 4 5 8 10 11 12 13 14 15", "0 1 4 6 7 10 11 14 15 16 17", "0 3 4 6 7 8 10 12 13 15", "0 1 3 5 8 9 10 12 17", "1 2 3 4 8 11 12 13 14 15", "0 2 4 8 13 14 15", "2 3 5 8 11 16", "0 1 2 4 6 8 9 10 12 13 14 15 17", "1 2 6 7 8 9 17"}

    0

    12

    783553217

    Returns: -1

  52. {"8", "2 3", "11", "3 8", "0 1 2 11 13", "1 8 11 14", "5 9", "1 8", "1 2 9", "8 11 13", "5 12", "6 7 9 11 14", "0 13 15", "15", "2 5 15", "2 6 7"}

    2

    4

    264912235

    Returns: 0

  53. {"1 2", "0 7", "5 6", "5 7", "0", "2", "1 4 5", "0 3"}

    4

    4

    467378928

    Returns: -1

  54. {"0 1 3 5", "1 2", "2 4 5", "1 2 5", "4", "2 4"}

    3

    0

    602908907

    Returns: 0

  55. {"0"}

    0

    0

    925344955

    Returns: 1

  56. {"1 3 8 9 11 13", "0 6 7 9 13", "2 5 6 8 9 12 13", "0 1 2 6 9 10 11", "0 1 2 3 9 13", "3 4 7 12", "1 7 8 10 13", "0 4 6 7 11 12", "4 7 8 9 11 13", "4 6 8", "3 4 5 13", "2 3 4 12", "1 2 5 6 7 8 9", "4 6 7 10"}

    11

    4

    533454343

    Returns: -1

  57. {"0 1 2", "2", "0 1 2"}

    0

    2

    966367439

    Returns: -1

  58. {"0 1 2 4 5 6 7", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 7 8", "0 2 3 4 5 6 7 8", "0 1 2 3 4 5 8", "0 1 2 3 4 5 6 7 8", "0 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7"}

    5

    7

    151785664

    Returns: -1

  59. {"1 2 3 4 5 6 7 8", "0 1 2 3 4 5 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 6 7 8", "0 1 2 3 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8", "0 1 2 3 4 5 6 7 8"}

    5

    8

    773163721

    Returns: -1

  60. {"0 2", "0 1 2", "1 2"}

    0

    1

    757782238

    Returns: -1

  61. {"0 1 2 3 4 5 6 7 10 11 12 13 14 16 17", "0 1 2 4 5 6 7 9 10 11 16 18", "0 1 2 3 4 5 6 7 10 12 13 14 15 17 18 19", "0 3 4 5 6 7 9 10 12 14 15 16 18 19", "0 1 2 3 5 6 7 8 9 10 11 12 14 18 19", "0 1 3 4 6 7 8 9 10 12 13 16 17 19", "2 3 4 5 7 9 10 11 12 13 16 17 18 19", "4 5 9 10 11 12 14 15 16 17 19", "1 2 5 7 9 12 13 14 16 17 19", "0 1 2 3 5 6 7 8 9 10 12 14 16 17 18 19", "0 2 4 5 6 9 12 13 14 15 16 19", "1 3 6 7 8 11 14 15 16 17 18", "0 1 2 3 4 7 9 12 13 14 15 16 17 18 19", "1 4 5 7 9 10 16 17 19", "0 2 4 5 6 11 12 13 14 15 16 17 18 19", "0 1 4 5 6 7 9 10 11 13 14 16 18", "0 1 2 3 7 8 9 10 12 13 17 18", "1 3 4 6 8 10 12 13 14 15 16 18 19", "2 3 4 5 7 9 10 14 15 16 19", "0 3 4 5 6 10 11 13 14 16 17 18 19"}

    14

    12

    730190959

    Returns: -1

  62. {"0 2", "0 1 3", "2 3", "1"}

    2

    3

    630495803

    Returns: -1

  63. {"0 3 7 8", "8 9 10", "0 1 2 9 13", "3 9 11", "3 5 9 11 12", "4 6 12", "2 4 11 13", "2 3 5 8 11", "2 8 10 11 12", "3 4 6", "0 4 6 7 10", "2 7 11", "1 7 11", "2 8 10 12"}

    9

    0

    181603022

    Returns: -1

  64. {"2 4 14", "0 14", "0 2 8 10 11", "6 11", "3 6 7 11 12", "0 4 6", "2", "6 9 12", "0 2 4 11", "2 3 5 12 14", "0 2 7 12", "0 7 12", "10 12 13", "13", "2 4"}

    7

    10

    55714856

    Returns: -1

  65. {"1 6 9", "1 5 8 9 12 14", "0 1 2 3 5 8 12", "0 4 5 6 8 9 13", "9 14", "0 3 5 6 7 8", "5 8", "2 3 7 9 12", "0 3 4 8 10 11", "3 7 10 11 12", "2 8 9", "7 9 11 12", "0 4 5 9 11 12", "9 12", "6 8 10"}

    12

    10

    436024854

    Returns: -1

  66. {"2 4 8", "8 10 11", "0 3 4 5 9", "0 2 5 6 9 10", "3 4 6 8", "0 1 2 5 9", "0 1 5 7 9 11", "3 4 6 8 10", "10", "2", "2 3 4 7 9 10", "0 11"}

    5

    8

    191572840

    Returns: -1

  67. {"0 2 3 4 5 6 7 8 9 12 13 14", "0 2 3 4 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 12 13", "0 2 4 5 6 7 8 9 10 11 12 13 14", "0 2 3 5 6 7 8 9 10 11 12 13 14", "0 1 2 3 4 5 6 7 8 10 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 12 13 14", "0 1 2 3 4 5 6 7 8 9 10 12 13 14", "0 1 2 3 4 5 7 8 9 10 11 12 13 14", "0 2 3 5 6 7 8 10 11 12 13 14", "0 1 2 3 5 6 8 9 10 11 13 14", "1 2 3 5 6 8 9 10 12 13 14", "0 1 2 3 4 5 6 7 8 10 11 12 13 14", "0 2 3 4 5 7 8 9 11 12 13", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14"}

    12

    3

    462860810

    Returns: -1

  68. {"1 5 12 13", "1 3 4 5 7 8 9 10 13", "3 5 8 9 10 12 13", "3 5 6 10 13", "3 5 6 8 12 13 14", "0 5 8 9 10 13", "2 3 5 11 12 14", "0 3 8 9 14", "2 10 14", "1 4 6 7 11 13 14", "0 2 3 4 6 11", "1 2 3 4 12", "0 3 4 5 9 12 13", "1 2 3 4 6 12 14", "0 1 3 5 8 9 11 14"}

    11

    12

    994045964

    Returns: -1

  69. {"0 1 4 5 9", "2 4 7 9 10", "2 3 7 9", "4 5 6 9 10 11", "5 7 10 11", "8 9 11", "1", "2 5 10", "5 6 7", "2 4 10 11", "3 5 8", "1 3 4 10"}

    3

    10

    574127421

    Returns: -1

  70. {"0 1", "0 1"}

    1

    0

    952850951

    Returns: -1

  71. {"0 1 2 3 4 5", "0 1 3 5", "0 1 2 3 5", "0 1 3 4 5", "0 1 2 3 4 5", "0 1 2 5"}

    2

    0

    170793035

    Returns: -1

  72. {"0 1 2 3 5 6 7 8 10 11 12 14 15 16 17", "0 1 2 3 4 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 5 6 7 9 10 11 13 14 15 17", "0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17", "0 1 2 3 4 5 7 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16", "1 2 3 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 8 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17", "0 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16", "0 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17"}

    5

    5

    48804669

    Returns: -1

  73. {"0 1 4 5 6", "0 2 3 7 8", "1 2 5 6 7 8 9", "1 2 3 6 7 9", "0 2 4 5 6 8 9", "1 2 3 4 5 6 7 8 9", "0 1 6 8 9", "1 2 4 5 6 8 9", "1 2 3 4 6 7 9", "0 1 2 4 5 7 8 9"}

    0

    4

    248839024

    Returns: -1

  74. { "1 2", "0", "0", "4", "0" }

    0

    0

    128

    Returns: -1


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: