package com.lanqiaobei.B.oneSix;
public class Q6方格数 {
static int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
static int ans;
public static void main(String[] args) {
dfs(0);
System.out.println(ans);
}
static void dfs(int index){
if(index==10){
if(check(arr)){
ans++;
}
return;
}
for (int i = index; i <arr.length ; i++) {
int t = arr[i];
arr[i] = arr[index];
arr[index] = t;
dfs(index+1);
t = arr[i];
arr[i] = arr[index];
arr[index] = t;
}
}
static boolean check(int[] a){
if(Math.abs(a[0]-a[1])==1||Math.abs(a[0]-a[3])==1||Math.abs(a[0]-a[4])==1||Math.abs(a[0]-a[5])==1)return false;
if(Math.abs(a[1]-a[2])==1||Math.abs(a[1]-a[4])==1||Math.abs(a[1]-a[5
蓝桥杯2016年javaB组第六题方格填数
最新推荐文章于 2024-09-14 21:48:00 发布
本文详细解析2016年蓝桥杯编程竞赛JavaB组的第六题——方格填数问题。通过算法思路、代码实现,深入探讨如何解决此类逻辑推理题目。
摘要由CSDN通过智能技术生成