logo Practice-It logo


Language/Type: Java recursion recursive backtracking
Author: Marty Stepp (on 2012/02/15)

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.

Type your solution here:

This is a method problem. Write a Java method as described. Do not write a complete program or class; just the method(s) above.

You must log in before you can solve this problem.

Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.