import java.util.Scanner;
public class Main {
}
public class Main {
static int[] num = new int[10]; //存储数组
static int ans = 0;
static boolean[] v=new boolean[10]; //标记数组
public static void main(String[] args) {
dfs(1);
System.out.println(ans);
}
public static void dfs(int step) {
//终止状态
if(step>9) {
int A=num[1];
int B=num[2];
int C=num[3];
int DEF=num[4]*100+num[5]*10+num[6];
int GHI=num[7]*100+num[8]*10+num[9];
if(A*C*GHI+B*GHI+DEF*C==10*C*GHI) {
ans++;
return;
}
}
//寻找新状态
for(int i=1;i<10;i++) {
if(v[i]==true) {
continue; //true为走过
}
v[i]=true; //标记为走过
//加入队列中
num[step]=i;
dfs(step+1);
//回溯
v[i]=false;
num[step]=0;
}
}}
0 回复
0 转发
3 喜欢
2 阅读



