import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
static int[]arr = new int[9];
static int cnt = 0;
static boolean[]vis=new boolean[10];
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
dfs(0);
System.out.println(cnt/2);
}
public static void dfs(int n) {
if (n==9) {
for (int i = 0; i < arr.length-1; i++) {
int x1 = sum(0, i);
int x2 = sum(i+1, 8);
if (check(x1*x2)) {
cnt++;
}
}
return;
}
for (int i = 1; i <= 9; i++) {
if (!vis[i]) {
vis[i] = true;
arr[n]= i;
dfs(n+1);
vis[i]=false;
}
}
}
public static boolean check(int n) {
String s =n+"";
if (s.length()!=9) {
return false;
}
HashSet<Integer>set = new HashSet<>();
String[]a = s.split("");
for (int i = 0; i < a.length; i++) {
if (Integer.parseInt(a[i])!=0) {
set.add(Integer.parseInt(a[i]));
}
}
if (set.size()==9) {
return true;
}
return false;
}
public static int sum(int l,int r) {
int Sum = 0;
for (int i = l; i <=r; i++) {
Sum*=10;
Sum+=arr[i];
}
return Sum;
}
}
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class hello {
static boolean[]vis = new boolean[11];
static int[]arr = new int[10];
static int cnt = 0;;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
dfs(0);
System.out.println(cnt);
scan.close();
}
private static void dfs(int n) {
if (n==10) {
if (check()) {
cnt++;
}
}
for (int i = 1; i <= 10; i++) {
if (!vis[i]) {
arr[n] = i;
vis[i] = true;
dfs(n+1);
vis[i] = false;
}
}
}
private static boolean check() {
for (int i = 0; i < 9; i++) {
if (Math.abs(arr[i+1]-arr[i])==1) {特别要注意此处加绝对值
return false;
}
}
return true;
}
}