***6.22-八皇后问题
来源:互联网 发布:linux创建目录命令 编辑:程序博客网 时间:2024/05/21 09:14
问题及代码:
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:Queen.java *作 者:单昕昕 *完成日期:2015年10月9日 *版 本 号:v1.0 * *问题描述:列出八皇后问题的所有情况*程序输入:无。*程序输出:八皇后问题的所有情况。 */ import java.util.*;import java.util.Scanner;public class Test{ public final static int[][]map=new int[8][8]; //是否有皇后的标记数组 public static int casenum=1; //解决方案的个数 public static void dfs(int row) //列举出2种情况,从行入手 { int column; for (column=0; column<8; column++) //依次列举八列 { map[row][column]=1; //标记皇后位置 if (row==0||check(row,column)==0) { if (row<7) //当行没有列举完的时候继续列举 dfs(row+1); else //列举到第八行后输出 print(); } map[row][column]=0; //取消标记 } } public static int check(int row,int column)//检查行列对角线 { int i; for (i=1; i<8; i++) //本行之前的该列某一行有皇后(上) //本列之前的该行某一列有皇后(左) //本列之后的该行某一列有皇后(右) //左上对角线 if((row-i>=0&&map[row-i][column]==1)||(column-i>=0&&map[row][column-i]==1)||(column+i<8&&map[row][column+i]==1)||(row-i>=0&&column-i>=0&&map[row-i][column-i]==1)||(row-i>=0&&column+i<8&&map[row-i][column+i]==1)) //右上对角线 return 1; return 0; } public static void print()//输出各种情况 { int i,j; System.out.println("case:"+casenum); ++casenum; //方案个数加一 for (i=0; i<8; i++) { System.out.print("|"); for (j=0; j<8; j++) { if (map[i][j]==1) //有皇后用Q表示 System.out.print("Q|"); else System.out.print(" |"); } System.out.println("\n"); } System.out.println("\n"); } public static void main(String[] args) { dfs(0); //从第一行开始 } }
运行结果:
知识点总结:
DFS。
学习心得:
(⊙v⊙)嗯写了一晚上。。
0 0
- ***6.22-八皇后问题
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题(2)
- 八皇后问题(3)
- 八皇后问题
- 八皇后问题程序
- 浅谈八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题求解
- 八皇后问题
- 八皇后问题
- Android中创建AIDL服务的步骤
- Java 的布局管理器GridBagLayout的使用方法【图文说明】
- [234]Palindrome Linked List
- c++ primer学习笔记3_复合类型
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- ***6.22-八皇后问题
- 大数据系列二(1)---时代的印记(互联网,云计算)
- BZOJ 1355 [Baltic2009]Radio Transmission Hash/KMP
- iOS导航栏,标签视图的透明度处理
- BestCoder 1st Anniversary ($) HDU5311 Hidden String
- 练习Link5
- BestCoder 1st Anniversary ($) HDU5312 Sequence
- hihocoder1238 Total Highway Distance(DFS+二分查找/map)
- Xcode定位crash代码,找出崩溃原因的配置