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) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕.也就是:每一趟 ...
随机推荐
- Linux gcc getcwd()的实现 zhuan
通过getcwd()可以获取当前工作目录. 1 #include <unistd.h> 2 3 char *getcwd(char *cwdbuf, size_t size);
- read later
https://groups.google.com/forum/#!msg/pylearn-users/FYtpaQKoC4c/ubitO_JUC1kJ 网上论坛 发布回复 ...
- IDE 版本
BDS 5 2007 D11 VER180 and VER185 RAD Studio 8 XE D15 VER 220 RAD 18 XE 10.1 Berlin D24 VER310 St ...
- flask项目结构(三)使用蓝图
简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...
- 一个表中多个字段对应另一个表的ID(SQL查询)
A数据表中多个字段对应B数据表的ID, 现在要把B表的其他字段一起查询出来 一.数据表: 1.SPEED_DETECTION_ROAD 它的 START_POINT_ID 和 END_POINT_ID ...
- 学react的第一天
属性 class = className for = htmlFrom jsx语法被编译了,所以可以在return里写html标签 react的属性 constructor(props){ super ...
- 7.5 C++基本序列式容器
参考:http://www.weixueyuan.net/view/6402.html 总结: vector可以理解为可以在两端插入.删除数据的数组,它提供了丰富的成员函数,用于操作数据. begin ...
- ubuntu下修改文件权限
参考:https://www.cnblogs.com/viviwind/archive/2012/08/02/2619451.html 常用方法如下: sudo chmod 600 ××× (只有所有 ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(三)
MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 三.配置XDoclet支持的项目 默认情况下,MyEclipse EJB项目未配置使用XDoclet功能. ...
- rnn-手写数字识别-网络结构-shape
手写数字识别经典案例,目标是: 1. 掌握tf编写RNN的方法 2. 剖析RNN网络结构 tensorflow编程 #coding:utf-8 import tensorflow as tf from ...