第六题
下图中,每个方块代表 1…13 中的某一个数字,但不重复。
例如:
1×2+9×7=13×5
10×8+12×3=11×4
只要有任意一个方块代表的数字不同,就算两种不同的方案。
请你计算,一共有多少种不同的方案。
答案 122368
代码
public class Main { static int sum = 0; public static void main(String[] args) { int[] mk = new int[14]; int[] arr = new int[13]; for (int i = 1; i < 14; i++) { arr[0] = i; dfs(mk, arr, 0, i); } System.out.println(sum); } public static void dfs(int[] mk, int[] arr, int step, int num) { if (step == 12 && arr[6] * arr[7] + arr[8] * arr[9] == arr[10] * arr[11]) { sum++; return; } step++; mk[num] = 1; for (int i = 1; i < 14; i++) { if (step > 12 || mk[i] == 1) continue; arr[step] = i; if (step == 5 && arr[0] * arr[1] + arr[2] * arr[3] != arr[4] * arr[5]) continue; dfs(mk, arr, step, i); } mk[num] = 0; } }