public class Main { static int res = 0; static boolean [][] rec = new boolean[7][7]; static int[][] dir = { {0, 1}, {0, -1}, {1, 0}, {-1, 0} }; public static void main(String[] args) { rec[3][3] = true; f(3, 3); System.out.println(res/4); } public static void f(int x,int y){ if (x == 0 || x == 6 || y == 0 || y == 6) { res++; return; } for (int i = 0; i < 4; i++) { int dx = x + dir[i][0]; int dy = y + dir[i][1]; if (rec[dx][dy] == false){ rec[dx][dy] = true; rec[6-dx][6-dy] = true; f(dx, dy); rec[6-dx][6-dy] = false; rec[dx][dy] = false; } } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)