八皇后问题
来源:互联网 发布:jquery 数组排序 sort 编辑:程序博客网 时间:2024/05/20 10:51
public class Queen{static int QueenMax=8;//设置N皇后的长度static int times=0;//表示的第几种解法static int chess[]=new int[QueenMax];//存储位置public static void placequeen(int num){//显示n皇后算法int i=0;boolean save[]=new boolean[QueenMax];//使用布尔判断for(;i<QueenMax;i++)save[i]=true; i=0; while(i<num){//判断是否冲突 save[chess[i]]=false; int k=num-i; if((chess[i]+k>=0)&&(chess[i]+k<QueenMax)) save[chess[i]+k]=false; if((chess[i]-k>=0)&&(chess[i]-k<QueenMax)) save[chess[i]-k]=false; i++; } for(i=0;i<QueenMax;i++) { if(save[i]==false) continue;//跳到下一次循环 if(num<QueenMax-1){ chess[num]=i; placequeen(num+1); } else{ chess[num]=i; times++; if(times<=3){ for(i=0;i<QueenMax;i++){ String row=""; if(chess[i]==0); else for(int j=0;j<chess[i];j++) row+="X "; row+="Q "; int j=chess[i]; while(j<QueenMax-1){ row+="X ";j++; } System.out.println(row); } System.out.println(); } } }}public static void main(String args[]){for(int i=0;i<QueenMax;i++)chess[i]=-1;placequeen(0);System.out.println("八皇后问题共有"+times+"种答案 \n");}}
0 0
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题(2)
- 八皇后问题(3)
- 八皇后问题
- 八皇后问题程序
- 浅谈八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题求解
- 八皇后问题
- 八皇后问题
- 八皇后问题
- ReportStudio入门教程(三十五) - 提示表达式的语法
- StringBuffer的用法
- Kalman滤波计算过程(仅供自己看的,没时间写整体理解,只写简要过程)
- 第1次实验——NPC问题(回溯算法)
- .NET条形码阅读器和条码生成控件VintaSoftBarcode.NET SDK
- 八皇后问题
- 动态规划 - 矩阵连乘
- js面向对象编程,如何定义属性字段?
- 银行离开IBM必死?国货10年内无法接盘
- Android的framework层音量控制原理分析
- Java高效开发框架Nutz开发成员专访
- 雅虎Flickr将拒用Google及Facebook帐号登入
- "redirect:/news/to"; springmvc的方式通过后台来进行重定向目录
- Android音量调节的实现(RingtoneManager和RingerVolumePreference)