package com.aice.queen;
public class Queen{
//同栏是否有皇后,1表示有
private int[]column;
//右上至左下是否有皇后
private int[]rup;
//左上至右下是否有皇后
private int[]lup;
//解答
private int[]queen;
//解答编号
private int num;
public Queen(){
column = new int[8+1];
rup =new int[(2*8)+1];
lup = new int[(2*8)+1];
for(int i = 1;i=8;i++)
column[i]=1;
for(int i = 1;i=(2*8);i++)
rup[i] = lup[i] = 1;
queen = new int[8+1];
}
public void backtrack(int i){
if(i8){
showAnswer();
}else{
for(int j=1;j=8;j++){
if((column[j]==1)(rup[i+j]==1)
(lup[i-j+8]==1)){
queen[i]=j;
//设定为占用
column[j]=rup[i+j]=lup[i-j+8]=0;
backtrack(i+1);
column[j]=rup[i+j]=lup[i-j+8]=1;
}
}
}
}
protected void showAnswer(){
num++;
System.out.println("\n解答"+num);
for(int y=1;y=8;y++){
for(int x=1;x=8;x++){
if(queen[y]==x){
System.out.print("Q");
}else{
System.out.print(".");
【八皇后问题java代码 八皇后问题详解最短代码】}
}
System.out.println();
}
}
public static void main(String[]args){
Queen queen = new Queen();
queen.backtrack(1);
}
}
八皇后问题java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于八皇后问题详解最短代码、八皇后问题java代码的信息别忘了在本站进行查找喔 。
- 云服务器游戏出现黑屏问题怎么解决? 云服务器游戏黑屏怎么办
- 如何处理云服务器游戏黑屏问题? 云服务器游戏黑屏怎么解决
- mongodb 并发写 mongodb并发问题
- redis 性能瓶颈 redis性能问题分析
- 如何解决戴尔服务器 PSU 问题? 戴尔服务器psu怎么解决
- 如何应对高防服务器的攻击问题? 高防服务器怎么解决
- redis多线程还是单进程 redis多进程并发问题
- mongodb安全问题 mongodb安全补丁
- 味多美八角西街店 mysql新架构设计器
- 如何解决云服务器卡顿问题? 云服务器特别卡怎么清理
