1.问题描述 八皇后问题是十九世纪著名数学家高斯于1850年提出的。问题是:在8*8的棋盘上摆放8个皇后,使其不能互相攻击,即任意的两个皇后不能处在同意行,同一列,或同意斜线上。2.matlab代码function PlaceQueen(row,stack,N)%回溯法放置皇后if row>N .....
分类:
其他好文 时间:
2015-05-04 21:56:28
阅读次数:
269
public class Queen { private final int size; private int[] location; private int[] columnOccupied; private int[] lineOccupied; ...
分类:
编程语言 时间:
2015-05-04 13:51:16
阅读次数:
124
字符串排列问题:
输入一个字符串,输出该字符串的所有排列。如输入abc,则输出abc,acb,bca,caab,cba.根据排列组合的知识,3个字符串的排列有3!=6个。
这道题...
分类:
其他好文 时间:
2015-05-04 11:54:24
阅读次数:
211
给出m*n棋盘上的目标点,求最少用几个皇后可以守卫所有目标点。
类似八皇后做法,2维数组标记行、列、主对角线、副对角线。
有个加速的技巧,测试之后发现10*10的棋盘全部守卫至少需要5个,所以上限就是5,当maxd等于5时直接输出,不进行搜索。
#include
#include
using namespace std;
const int maxn=11;
int n,m,t,maxd...
分类:
其他好文 时间:
2015-05-03 13:20:57
阅读次数:
105
Matrix67:位运算简介及实用技巧(三)进阶篇(2) (2010-07-27 11:10:44)转载▼标签:it分类:老贾·OI相关n皇后问题位运算版n皇后问题是啥我就不说了吧,学编程的肯定都见过。下面的十多行代码是n皇后问题的一个高效位运算程序,看到过的人都夸它牛。初始时,upperlim:=...
分类:
其他好文 时间:
2015-04-29 07:03:30
阅读次数:
139
1 #include 2 #include 3 using namespace std; 4 5 bool check(int row,int *a) 6 { 7 for(int i=0;i>k;50 int num=0;51 findpos(0,a,num,k);52 ...
分类:
其他好文 时间:
2015-04-28 01:43:53
阅读次数:
173
最原始DFS ,n代表棋盘是n*n的
#include
#include
#include
using namespace std ;
int a[1000] ;
int cnt,n ;
void dfs(int cur)
{
if(cur == n)
cnt++ ;
else for(int i = 0 ;i<n ;i++)
{
...
分类:
其他好文 时间:
2015-04-23 21:51:05
阅读次数:
116
最后一个循环的问题比较值得学习,本质是n皇后public class Solution { public boolean isValidSudoku(char[][] board) { //http://blog.csdn.net/linhuanmars/article/deta...
分类:
其他好文 时间:
2015-04-22 08:16:10
阅读次数:
106