Write a method travel2
that accepts integers x and y as parameters and uses recursive backtracking to print all solutions for traveling in the 2-D plane from (0, 0) to (x, y) by repeatedly using one of three moves:
- North (N): move up 1 (increase y)
- East (E): move right 1 (increase x)
- Northeast (NE): move up 1 and right 1 (increase both x and y)
The following diagram shows one such path to the point (5, 3).
For example, the call of travel2(2, 1);
should print the following solutions (they can appear in any order):
[N, E, E]
[NE, E]
[E, N, E]
[E, NE]
[E, E, N]
(This problem is similar to the earlier travel
problem except that it stores your moves as a collection rather than a string.) Do not use any loops in solving this problem.