第一次实验,八皇后问题
来源:互联网 发布:艾克里里视频变声软件 编辑:程序博客网 时间:2024/06/05 11:12
public class EightQueen { private int index = 1; private final static int SCALE = 8; private int[] answer = new int[SCALE]; private void initArray() { for (int i = 0; i < answer.length; i++) { answer[i] = -1; } } private boolean canStay(int row, int col) { for (int i = 0; i < row; i++) { if (answer[i] == col || Math.abs(row - i) == Math.abs(col - answer[i])) { return false; } } return true; } private void calculate() { for (int row = 0; row < SCALE; row++) { if (answer[row] == -1) { answer[row] = 0; } for (int col = answer[row]; col <= SCALE; col++) { if (col == SCALE) { answer[row] = -1; row--; if (row < 0) { return; } col = answer[row]; continue; } if (canStay(row, col)) { answer[row] = col; if (row == SCALE - 1) { showmsg(); continue; } break; } } } } private void showmsg() { if (index<4) { System.out.println(" - 第" + index + "种方案 -"); for (int i = 0; i < answer.length; i++) { for (int j = 0; j < SCALE; j++) { if (answer[i] == j) { System.out.print("Q "); } else { System.out.print("X "); } } System.out.println(""); } System.out.println("\n"); index++; } } public EightQueen() { initArray(); calculate(); } public static void main(String[] args) { System.out.println("列举"+SCALE+"皇后问题的前 3 种方案!"); System.out.println(); EightQueen eightQueen = new EightQueen(); } }
0 0
- 第一次实验,八皇后问题
- 第一次实验——八皇后问题
- 第一次实验:NPC,回溯,八皇后问题
- 第一次实验——八皇后问题
- 第一次实验--八皇后及N皇后问题
- 第一次实验:八皇后及N皇后问题
- 第一次实验 八皇后及N皇后问题
- 实验一 八皇后问题
- 实验一,八皇后问题
- 第一次实验,8皇后问题算法
- 实验一:八皇后问题和聚类分析
- 实验一:八皇后问题和聚类分析
- 第一次交的程序大作业 -八皇后问题(1)
- 第一次试验---八皇后问题和聚类思考
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 第1次实验——八皇后及N皇后问题
- 八皇后问题
- 花开时节,有赏花的心情.
- 软件设计漫谈之三:30分钟掌握面向对象类的设计原则
- 内存泄露
- URI和URL的区别
- 验证码生成
- 第一次实验,八皇后问题
- Ubuntu下MiniGUI3.0.12安装与移植
- ListView高度根据item变化
- 摩托罗拉HR的变革管理(中英文对照)
- 2014年利于百度排名的3大潜规则<二>
- HTML5开发环境搭建
- 丁磊推荐《你的灯亮着吗》为三大管理必读书
- Apache2.2和SVN1.4.4搭建svn版本控制平台(windows环境)
- [LeetCode] Subsets [31]