N-Queen(java实现)
n-queen是回溯法的一个典例,算法在书中介绍的很详细,主要就是逐层往下尝试,不合适则后退一层。再次申明,算法来源《算法导论》。
public class queen8 {public static void NQueens(int n) {int[] X = new int[n+1];X[0] = 0;int k = 1;while(k > 0) {X[k] = X[k] + 1;while(X[k] <= n && Place(X,k) != true) {X[k] = X[k] + 1;}if(X[k] <= n) {if(k == n) {for(int i=1;i<n+1;i++)System.out.print(X[i]+" ");System.out.println(); }else {k++;X[k] = 0;}}else k--;}}public static boolean Place(int[] X,int k) {int i = 1;while(i<k) {if(X[i] == X[k] || Math.abs(X[i] - X[k]) == Math.abs(i-k))return false;i++;}return true;}public static void main(String[] args) {NQueens(8);}}
N-Queen(java实现)相关推荐
- java 黑白皇后算法_JNI学习之步步深入四--皇后的祝福
上篇中简单介绍了,java中的类型和C中的类型的映射的,本篇将以一个无聊的实例来看看JNI中数组的使用. 皇后的祝福,思路很简单,就是利用我们耳熟能详的把皇后问题结合JNI来实现一点点小小的乐趣,在快 ...
- 【手把手带你学JavaSE】(项目展示)老鼠走迷宫和八皇后问题
目录 前言 老鼠走迷宫 MiGong.java 八皇后问题 Queen.java 前言 大家还记得当初C语言我们一起学习的递归吗?说好的要实现老鼠走迷宫和八皇后问题!他来了!!! 老鼠走迷宫 MiGo ...
- Java Websocket实例【服务端与客户端实现全双工通讯】
Java Websocket实例[服务端与客户端实现全双工通讯] 现很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP ...
- LeetCode 51. N-Queens--回溯法 pyhon,java,c++解法
题目地址: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two q ...
- 201771010126 王燕《面向对象程序设计(Java)》第十四周学习总结(测试程序11)...
实验十四 Swing图形界面组件 理论部分: 不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝对定位的步骤: 1)将布局管理器 ...
- leetcode算法题解(Java版)-9-N皇后问题
一.贪心 题目描述 Find the contiguous subarray within an array (containing at least one number) which has th ...
- 《Effective Java》 读书笔记(持续更新)
2.1 用静态工厂方法代替构造器 静态工厂方法: 不通过 new (如:Date date = new Date();) 而是用一个静态方法来对外提供自身实例的方法叫做静态工厂方法(Static fa ...
- java最小访问原则_Android基础进阶之EffectiveJava翻译系列(第七章:通用原则)
本章主要讨论语言的具体内容.它讨论了局部变量的处理.控制结构.库的使用.各种数据类型的使用,以及使用反射和本地方法.最后,讨论了优化和命名约定 Item 45:最小化局部变量作用域 作用域:一个花括号 ...
- java第二次测试笔试题_微软第二次笔试第一题java代码 已AC
import java.util.HashMap; import java.util.Scanner; import java.util.Set; /** * Queen attack * @auth ...
- Java入门超简单程序Song List
题目 The goal of this project is to write an application for maintaining a list of songs. Each song ha ...
最新文章
- Linux 基础学习
- 【Unity3D】 KeyCode 键码
- python中的set
- CentOS7安装和配置samba
- 测试框架 Jest 实例教程
- 为什么人生气时说话用喊的
- 2016江苏省盗取计算机技术,2016年江苏省职业学校技能大赛物联网技术应用与维护公开题库...
- POJ 3608 旋转卡壳
- 程序员的终极幻想(一):像操作数据库那样操作大脑的记忆
- 语音助手的涅槃关头,我们应该完全抛弃屏幕还是选择“语音+图形界面”?
- R语言重现STAMP结果图
- HTML-淘宝导航条
- Activity全屏透明动画等
- 常见几个排序源码及二分查找源码
- java小项目---------银行新用户现金业务办理(运用数据库)
- html适合app的登陆页面,纯CSS3创意手机APP登录界面动画特效
- 2021SC@SDUSC山东大学软件学院软件工程应用与实践--YOLOV5代码分析(十三)metrics.py-1
- D. Factorial Divisibility
- python读取txt中文乱码
- SwitchResX 4.6 调整外接显示器分辨率