2018.4.24 java实现8皇后算法
import java.util.Scanner;
public class Nqueens {
private boolean verify(int[] arr,int i) {
// TODO Auto-generated method stub
for (int j = 1; j != i; j++) {
if(j == i) {
continue;
}
if(arr[i]==arr[j]||Math.abs(i-j)==Math.abs(arr[i]-arr[j])) {
return false;
}
}
return true;
}
private void nqueens(int[] arr,int i,int n) {
// TODO Auto-generated method stub
for (int j = 1; j < arr.length; j++) {
arr[i] = j;
if(verify(arr,i)) {
if(i == n) {
System.out.println("--------------------");
for (int k = 1; k < arr.length; k++) {
System.out.println("---" + k + "---" + arr[k]);
}
}else {
nqueens(arr,i+1,n);
}
}
}
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String num = s.next();
int n = Integer.parseInt(num);
int[] arr = new int[n+1];
new Nqueens().nqueens(arr,1,n);
}
}
运行结果:
8
--------------------
---1---1
---2---5
---3---8
---4---6
---5---3
---6---7
---7---2
---8---4
--------------------
---1---1
---2---6
---3---8
---4---3
---5---7
---6---4
---7---2
---8---5
--------------------
---1---1
---2---7
---3---4
---4---6
---5---8
---6---2
---7---5
---8---3
--------------------
---1---1
---2---7
---3---5
---4---8
---5---2
---6---4
---7---6
---8---3
--------------------
---1---2
---2---4
---3---6
---4---8
---5---3
---6---1
---7---7
---8---5
--------------------
---1---2
---2---5
---3---7
---4---1
---5---3
---6---8
---7---6
---8---4
--------------------
---1---2
---2---5
---3---7
---4---4
---5---1
---6---8
---7---6
---8---3
--------------------
---1---2
---2---6
---3---1
---4---7
---5---4
---6---8
---7---3
---8---5
--------------------
---1---2
---2---6
---3---8
---4---3
---5---1
---6---4
---7---7
---8---5
--------------------
---1---2
---2---7
---3---3
---4---6
---5---8
---6---5
---7---1
---8---4
--------------------
---1---2
---2---7
---3---5
---4---8
---5---1
---6---4
---7---6
---8---3
--------------------
---1---2
---2---8
---3---6
---4---1
---5---3
---6---5
---7---7
---8---4
--------------------
---1---3
---2---1
---3---7
---4---5
---5---8
---6---2
---7---4
---8---6
--------------------
---1---3
---2---5
---3---2
---4---8
---5---1
---6---7
---7---4
---8---6
--------------------
---1---3
---2---5
---3---2
---4---8
---5---6
---6---4
---7---7
---8---1
--------------------
---1---3
---2---5
---3---7
---4---1
---5---4
---6---2
---7---8
---8---6
--------------------
---1---3
---2---5
---3---8
---4---4
---5---1
---6---7
---7---2
---8---6
--------------------
---1---3
---2---6
---3---2
---4---5
---5---8
---6---1
---7---7
---8---4
--------------------
---1---3
---2---6
---3---2
---4---7
---5---1
---6---4
---7---8
---8---5
--------------------
---1---3
---2---6
---3---2
---4---7
---5---5
---6---1
---7---8
---8---4
--------------------
---1---3
---2---6
---3---4
---4---1
---5---8
---6---5
---7---7
---8---2
--------------------
---1---3
---2---6
---3---4
---4---2
---5---8
---6---5
---7---7
---8---1
--------------------
---1---3
---2---6
---3---8
---4---1
---5---4
---6---7
---7---5
---8---2
--------------------
---1---3
---2---6
---3---8
---4---1
---5---5
---6---7
---7---2
---8---4
--------------------
---1---3
---2---6
---3---8
---4---2
---5---4
---6---1
---7---7
---8---5
--------------------
---1---3
---2---7
---3---2
---4---8
---5---5
---6---1
---7---4
---8---6
--------------------
---1---3
---2---7
---3---2
---4---8
---5---6
---6---4
---7---1
---8---5
--------------------
---1---3
---2---8
---3---4
---4---7
---5---1
---6---6
---7---2
---8---5
--------------------
---1---4
---2---1
---3---5
---4---8
---5---2
---6---7
---7---3
---8---6
--------------------
---1---4
---2---1
---3---5
---4---8
---5---6
---6---3
---7---7
---8---2
--------------------
---1---4
---2---2
---3---5
---4---8
---5---6
---6---1
---7---3
---8---7
--------------------
---1---4
---2---2
---3---7
---4---3
---5---6
---6---8
---7---1
---8---5
--------------------
---1---4
---2---2
---3---7
---4---3
---5---6
---6---8
---7---5
---8---1
--------------------
---1---4
---2---2
---3---7
---4---5
---5---1
---6---8
---7---6
---8---3
--------------------
---1---4
---2---2
---3---8
---4---5
---5---7
---6---1
---7---3
---8---6
--------------------
---1---4
---2---2
---3---8
---4---6
---5---1
---6---3
---7---5
---8---7
--------------------
---1---4
---2---6
---3---1
---4---5
---5---2
---6---8
---7---3
---8---7
--------------------
---1---4
---2---6
---3---8
---4---2
---5---7
---6---1
---7---3
---8---5
--------------------
---1---4
---2---6
---3---8
---4---3
---5---1
---6---7
---7---5
---8---2
--------------------
---1---4
---2---7
---3---1
---4---8
---5---5
---6---2
---7---6
---8---3
--------------------
---1---4
---2---7
---3---3
---4---8
---5---2
---6---5
---7---1
---8---6
--------------------
---1---4
---2---7
---3---5
---4---2
---5---6
---6---1
---7---3
---8---8
--------------------
---1---4
---2---7
---3---5
---4---3
---5---1
---6---6
---7---8
---8---2
--------------------
---1---4
---2---8
---3---1
---4---3
---5---6
---6---2
---7---7
---8---5
--------------------
---1---4
---2---8
---3---1
---4---5
---5---7
---6---2
---7---6
---8---3
--------------------
---1---4
---2---8
---3---5
---4---3
---5---1
---6---7
---7---2
---8---6
--------------------
---1---5
---2---1
---3---4
---4---6
---5---8
---6---2
---7---7
---8---3
--------------------
---1---5
---2---1
---3---8
---4---4
---5---2
---6---7
---7---3
---8---6
--------------------
---1---5
---2---1
---3---8
---4---6
---5---3
---6---7
---7---2
---8---4
--------------------
---1---5
---2---2
---3---4
---4---6
---5---8
---6---3
---7---1
---8---7
--------------------
---1---5
---2---2
---3---4
---4---7
---5---3
---6---8
---7---6
---8---1
--------------------
---1---5
---2---2
---3---6
---4---1
---5---7
---6---4
---7---8
---8---3
--------------------
---1---5
---2---2
---3---8
---4---1
---5---4
---6---7
---7---3
---8---6
--------------------
---1---5
---2---3
---3---1
---4---6
---5---8
---6---2
---7---4
---8---7
--------------------
---1---5
---2---3
---3---1
---4---7
---5---2
---6---8
---7---6
---8---4
--------------------
---1---5
---2---3
---3---8
---4---4
---5---7
---6---1
---7---6
---8---2
--------------------
---1---5
---2---7
---3---1
---4---3
---5---8
---6---6
---7---4
---8---2
--------------------
---1---5
---2---7
---3---1
---4---4
---5---2
---6---8
---7---6
---8---3
--------------------
---1---5
---2---7
---3---2
---4---4
---5---8
---6---1
---7---3
---8---6
--------------------
---1---5
---2---7
---3---2
---4---6
---5---3
---6---1
---7---4
---8---8
--------------------
---1---5
---2---7
---3---2
---4---6
---5---3
---6---1
---7---8
---8---4
--------------------
---1---5
---2---7
---3---4
---4---1
---5---3
---6---8
---7---6
---8---2
--------------------
---1---5
---2---8
---3---4
---4---1
---5---3
---6---6
---7---2
---8---7
--------------------
---1---5
---2---8
---3---4
---4---1
---5---7
---6---2
---7---6
---8---3
--------------------
---1---6
---2---1
---3---5
---4---2
---5---8
---6---3
---7---7
---8---4
--------------------
---1---6
---2---2
---3---7
---4---1
---5---3
---6---5
---7---8
---8---4
--------------------
---1---6
---2---2
---3---7
---4---1
---5---4
---6---8
---7---5
---8---3
--------------------
---1---6
---2---3
---3---1
---4---7
---5---5
---6---8
---7---2
---8---4
--------------------
---1---6
---2---3
---3---1
---4---8
---5---4
---6---2
---7---7
---8---5
--------------------
---1---6
---2---3
---3---1
---4---8
---5---5
---6---2
---7---4
---8---7
--------------------
---1---6
---2---3
---3---5
---4---7
---5---1
---6---4
---7---2
---8---8
--------------------
---1---6
---2---3
---3---5
---4---8
---5---1
---6---4
---7---2
---8---7
--------------------
---1---6
---2---3
---3---7
---4---2
---5---4
---6---8
---7---1
---8---5
--------------------
---1---6
---2---3
---3---7
---4---2
---5---8
---6---5
---7---1
---8---4
--------------------
---1---6
---2---3
---3---7
---4---4
---5---1
---6---8
---7---2
---8---5
--------------------
---1---6
---2---4
---3---1
---4---5
---5---8
---6---2
---7---7
---8---3
--------------------
---1---6
---2---4
---3---2
---4---8
---5---5
---6---7
---7---1
---8---3
--------------------
---1---6
---2---4
---3---7
---4---1
---5---3
---6---5
---7---2
---8---8
--------------------
---1---6
---2---4
---3---7
---4---1
---5---8
---6---2
---7---5
---8---3
--------------------
---1---6
---2---8
---3---2
---4---4
---5---1
---6---7
---7---5
---8---3
--------------------
---1---7
---2---1
---3---3
---4---8
---5---6
---6---4
---7---2
---8---5
--------------------
---1---7
---2---2
---3---4
---4---1
---5---8
---6---5
---7---3
---8---6
--------------------
---1---7
---2---2
---3---6
---4---3
---5---1
---6---4
---7---8
---8---5
--------------------
---1---7
---2---3
---3---1
---4---6
---5---8
---6---5
---7---2
---8---4
--------------------
---1---7
---2---3
---3---8
---4---2
---5---5
---6---1
---7---6
---8---4
--------------------
---1---7
---2---4
---3---2
---4---5
---5---8
---6---1
---7---3
---8---6
--------------------
---1---7
---2---4
---3---2
---4---8
---5---6
---6---1
---7---3
---8---5
--------------------
---1---7
---2---5
---3---3
---4---1
---5---6
---6---8
---7---2
---8---4
--------------------
---1---8
---2---2
---3---4
---4---1
---5---7
---6---5
---7---3
---8---6
--------------------
---1---8
---2---2
---3---5
---4---3
---5---1
---6---7
---7---4
---8---6
--------------------
---1---8
---2---3
---3---1
---4---6
---5---2
---6---5
---7---7
---8---4
--------------------
---1---8
---2---4
---3---1
---4---3
---5---6
---6---2
---7---7
---8---5
2018.4.24 java实现8皇后算法的更多相关文章
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化
上两篇博客 8皇后以及N皇后算法探究,回溯算法的JAVA实现,递归方案 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,数据结构“栈”实现 研究了递归方法实现回溯,解决N皇后问题,下面我们来 ...
- Java国密相关算法(bouncycastle)
公用类算法: PCIKeyPair.java /** * @Author: dzy * @Date: 2018/9/27 14:18 * @Describe: 公私钥对 */ @Data @AllAr ...
- 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结
20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...
- java sm4国密算法加密、解密
java sm4国密算法加密.解密 CreationTime--2018年7月5日09点20分 Author:Marydon 1.准备工作 所需jar包: bcprov-jdk15on-1.59. ...
- 2018年最新Java面试题及答案整理(持续完善中…)
2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...
- 数据结构与算法【Java】05---排序算法总结
前言 数据 data 结构(structure)是一门 研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码. 要学习好数据结构就要多多考虑如何将生 ...
- Java中的经典算法之冒泡排序(Bubble Sort)
Java中的经典算法之冒泡排序(Bubble Sort) 神话丿小王子的博客主页 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一 ...
- Java中的查找算法之顺序查找(Sequential Search)
Java中的查找算法之顺序查找(Sequential Search) 神话丿小王子的博客主页 a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数 ...
- Java中的经典算法之选择排序(SelectionSort)
Java中的经典算法之选择排序(SelectionSort) 神话丿小王子的博客主页 a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕.也就是:每一趟 ...
随机推荐
- js简单验证码的生成和验证
如何用js生成简单验证码,并验证是否正确的方法 1.html页面如下 <div> <table border="0" cellspacing="5&qu ...
- linux文件管理 文件操作
文件操作 pwd 命令 该命令的英文解释为print working direction(打印工作目录).输入pwd命令,Linux输出当前目录. cd 命令 用来改变所在目录 cd / 转到根目录 ...
- AttributeError: 'cx_Oracle.Cursor' object has no attribute 'numbersAsStrings'
转载自:https://www.wengbi.com/thread_77579_1.html 最近在本地搭建Django开发环境,Django 1.11,python 2.7.11,数据库Oracle ...
- day038 navicat pymysql
今日内容: 1.navicat 2.pymysql 1.navicat 需要掌握 #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 ...
- day36 数据库表操作 数据类型 完整性约束
今日内容 1.存储引擎表类型 2.数据类型 3.完整性约束 1.存储引擎表类型 指令: 1.show engines:#查看MySQL所有的引擎, 2.show variables like &quo ...
- 卷积与反卷积以及步长stride
1. 卷积与反卷积 如上图演示了卷积核反卷积的过程,定义输入矩阵为 I(4×4),卷积核为 K(3×3),输出矩阵为 O(2×2): 卷积的过程为:Conv(I,W)=O 反卷积的过称为:Deconv ...
- unordered_map/unordered_set & unordered_multimap/unordered_multiset非关联容器
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- java修饰符用法
public:本类可使用,子类可使用,同一包内的类可使用,不同包内的类可使用 protected:本类可使用,子类可使用(不同包内的子类也可使用),同一包内的类可使用 default(当不写修饰符时) ...
- java基础学习之单例设计模式学习
最近狂补java基础的我重新学习了下单例,下面直接贴出代码,以作备忘 package com.darling.single; /** * 单例模式 * 单例即在内存中只存在该类的一个实例,要想实现这个 ...
- oracle 12c中种子数据库的隐藏与保护
Oracle 12c种子数据库(pdbseed)的状态是read only,这是因为Oracle对种子数据库进行了保护,避免遭到破坏.保护好种子数据库的目的,是为了以此为模板,新建pdb数据库. 新的 ...