八皇后排序,92种
来源:互联网 发布:linux xargs cat命令 编辑:程序博客网 时间:2024/05/24 01:51
public class 八皇后 {
/**
* @param args
*/
static int[][] map = new int[8][8];
static int count = 0;
public static void main(String[] args){
Play(0);
}
private static void Play(int row)
{
for (int col = 0; col < 8; col++)
{
// 摆放前 先做判断
if (Check(row, col) == true)
{// 说明【row,col】这个点可以摆放皇后
map[row][col] = 1;
// 判断
if (row == 7)
{// 摆放好了 打印出来
Show();
}
else
{
Play(row + 1);
}
// 出问题了 撤销
map[row][col] = 0;
}
}
}
private static void Show()
{
count++;
// 分开
System.out.println("第"+count+"种摆法");
// 行列
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
System.out.print(map[i][j]);
}
// 换一行
System.out.println();
}
}
private static boolean Check(int row, int col)
{
// 正上方
for (int i = 0; i < row; i++)
{
if (map[i][col] == 1)
{
return false;
}
}
// 左斜上方
for (int i=row,j=col; i>=0 && j>=0; i--,j--)
{
if (map[i][j] == 1)
{
return false;
}
}
// 右斜上方
for (int i = row, j = col; i >= 0 && j < 8; i--, j++)
{
if (map[i][j] == 1)
{
return false;
}
}
// 说明可以摆放皇后
return true;
}
}
- 八皇后排序,92种
- 全排序vs八皇后问题vs三角八皇后
- 909422229__八皇后92种摆放
- 八皇后问题 的92种结果
- 递归:八皇后 92种解
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- 八皇后
- POJ 3900 The Robbery (dfs暴搜+剪枝)
- VMware虚拟机安装MAC OS X Mountain Lion详细图文教程
- [c#基础教程]C# 特性(Attribute)详细介绍
- 继承的本质(读《你必须知道的.net》记录笔记)
- hibernate注解的实现原理之1
- 八皇后排序,92种
- 透明窗口和窗口阴影
- 多线程中出现的一个面试题
- Magento邮件发送完美设置
- poj 2983——Is the Information Reliable?
- 面向对象设计原则
- 号称最快排序
- ibatis常用16条SQL语句
- 【c++笔记】二 我的main