public class Main {
static int[] arr = {1,2,3,4,5,6,7,8,9};
static int ans = 0;
static void f(int k){
if(k == 9){
int x1 = arr[0] + arr[1] + arr[3] + arr[5];
int x2 = arr[0] + arr[2] + arr[4] + arr[8];
int x3 = arr[5] + arr[6] + arr[7] + arr[8];
if (x1 == x2 && x2 == x3){
ans++;
}
}
//对每个位置进行全排列
for(int i = k; i < 9; i++){
int t = arr[k];
arr[k] = arr[i];
arr[i] = t;
f(k + 1);
t = arr[k];
arr[k] = arr[i];
arr[i] = t;
}
}
public static void main(String[] args) {
f(0);
System.out.println(ans / 6); //同一个结果旋转可产生三种相同的结果,再镜像,共6种
}
}
04-17
690
10-02
1578