回溯法求解 “n 皇后 问题”——Java 实现
在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于在n×n格的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。
回溯算法描述:
void Queue(int n)
{
for (i=1; i<=n; i++) //初始化
x[i]=0;
k=1;
while (k>=1)
{
x[k]=x[k]+1; //在下一列放置第k个皇后
while (x[k]<=n && !Place(k))
x[k]=x[k]+1; //搜索下一列
if (x[k]<=n && k= =n) { //得到一个解,输出
for (i=1; i<=n; i++)
cout<<x[i];
return; }
else if (x[k]<=n && k<n)
k=k+1; //放置下一个皇后
else {
x[k]=0; //重置x[k],回溯
&n
相关文档:
你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?
OutputStreamWriter out = ...;
java.sql.Connection conn = ...;
try { // ⑸
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("select uid, nam ......
刚刚学习了继承,记录下我觉得继承中我们应该注意的问题. 什么继承是使用extends来实现的,这种问题记录下来是不是有点降低哥的IQ呢?哈哈,所以这些基础语法就不记录咯.下面开始吧:
1.在学习java中,我们应该要知道所有类的超类都是object类,这样说的意思就是说,所有的类都包含了 ......
来源:http://cj1240.zhmy.com/archives/2008/148832.html
JAVA 中的IO流
一、流的概念
流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。
&nb ......
Java集合对象排序测试
Java API针对集合类型排序提供了两种支持:
java.util.Collections.sort(java.util.List)
java.util.Collections.sort(java.util.List, java.util.Comparator)
第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。
第二个方法要求实现一个java.util. ......
给定由n个整数组成的序列(a1, a2, …, an),求该序列的子段和的最大值,当所有整数均为负整数时,其最大子段和为0。
LargestSubsegmentSum1.java //蛮力算法
import ......