第1次实验——NPC问题(回溯算法、聚类分析)
来源:互联网 发布:中国最好的云计算公司 编辑:程序博客网 时间:2024/05/16 06:14
第一题:N皇后问题(八皇后为例):
代码如下:
<pre name="code" class="java">package queen;class Queen{static final int n = 8; // 皇后的数量int[][] x = new int[n][n];// 分配8X8的数组,充当棋盘,存放皇后int sum = 0;// 记录皇后的放置方法的总数int[] y = new int[n];// 存放每行的皇后位置即第column行的皇后放置位置是y[column]public void putQueen(int Rows){int row = Rows;for (int column = 0; column < n; column++){if (x[row][column] == 0){for (int rowi = row + 1; rowi < n; rowi++){x[rowi][column]++;if (column - rowi + row >= 0){x[rowi][column - rowi + row]++;}if (column + rowi - row < n){x[rowi][column + rowi - row]++;}} y[row] = column;if (row == n - 1){printQueen(++sum);}else{putQueen(row + 1);}for (int rows = row + 1; rows < n; rows++)// 回溯,在此行的皇后不放此列column// ,恢复该位置的正下面/斜下面的count{x[rows][column]--;if (column - rows + row >= 0){x[rows][column - rows + row]--;}if (column + rows - row < n){x[rows][column + rows - row]--;}}}}if (row == 0){System.out.println(n + "皇后问题共有" + sum + "个解.");}}public void printQueen(int size)// 打印皇后布局{System.out.println(n + "皇后的第" + size + "个解是:");System.out.println();for (int row = 0; row < n; row++){for (int column = 0; column < n; column++){System.out.print(y[row] == column ? " Q " : " X ");}System.out.println();}System.out.println();}public static void main(String[] args){Queen Q = new Queen();Q.putQueen(0);}}
0 0
- 第1次实验 - NPC问题(回溯算法、聚类分析)
- 第1次实验 - NPC问题(回溯算法、聚类分析)
- 第1次实验--NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析) N皇后的问题
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- 第1次实验——NPC问题(回溯算法、聚类分析)
- OJ-金额转换
- Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
- Android View绘制流程
- POJ3009Curling 2.0(DFS+回溯)
- 使AFNetworking支持text/htm数据格式
- 第1次实验——NPC问题(回溯算法、聚类分析)
- $(function(){...});
- PMO工作反思
- Android Bootstrap:开发也能用模板,省时又省力!
- xml画圆角按钮
- HTTP 状态响应码 意思详解/大全
- Linux常用命令
- keychain 访问
- 为个娃儿发改委撒但复苏的