1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public class Hanota {
static void dfs(int n, List<Integer> src, List<Integer> buf, List<Integer> tar){ if (n == 1){ move(src, tar); } dfs(n - 1, src, tar, buf); move(src, tar); dfs(n - 1, buf, src, tar);; }
static void move(List<Integer> src, List<Integer> tar){ src.remove(src.size() -1); tar.addAll(src); } }
|