public class Main {
static int max=8,j=0;
static int[] a=new int[max];
public static boolean judge(int x)
{
int i;
for(i=0;i<x;i++)
{
if(a[i]==a[x]||Math.abs(a[i]-a[x])==(x-i))
{
return false;
}
}
return true;
}
public static void bianli(int n)
{
if(n==max)
{
j++;
return;
}
for(int i=0;i<max;i++)
{
a[n]=i;
if(judge(n))
bianli(n+1);
}
}
public static void main(String[] args) {
bianli(0);
System.out.println("八皇后的解法总数为: "+j+"种");
}
}
八皇后递归解决
最新推荐文章于 2022-11-10 21:58:08 发布
本文介绍了一个使用递归回溯法解决八皇后问题的Java程序实现。通过定义静态数组存储棋盘状态,并采用递归函数进行试探性放置,最终统计并输出所有可行解的数量。
519

被折叠的 条评论
为什么被折叠?



