答案:768
public class Main {
private static int number = 0;
public static void main(String[] args) {
int[] a = new int[9];
for(int i=0;i <9;i++) {
a[i] = i+1;
}
f(a,0);
System.out.println(number);
}
public static void test(int[] a) {
if(a[0] < a[2]&&a[0] < a[3]&& a[1] <a[3] &&a[1] < a[4]) {
if(a[2] < a[5]&&a[2]<a[6]&&a[3]<a[6]&&a[3]<a[7]&&a[4]<a[7]&&a[4]<a[8]) {
number++;
}//判断情况
}
}
public static void f(int[] a,int n) {
//核心代码 对每一个位置上的数字进行swap交换 在回溯还原
if(n == 8) {
test(a);
}
for(int i = n;i < 9;i++) {
int temp = a[i];
a[i] = a[n];
a[n] = temp;//
f(a,n+1);
a[n] = a[i];
a[i] = temp;
}
}
}