社区
数据结构与算法
帖子详情
如何把八皇后问题的所有解求出来?
GSTARRAW
2008-01-18 11:45:09
如题!
...全文
160
3
打赏
收藏
如何把八皇后问题的所有解求出来?
如题!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ywza77
2010-05-07
打赏
举报
回复
1
第1组解:(1,1)、(2,5)、(3,8)、(4,6)、(5,3)、(6,7)、(7,2)、(8,4)、
第2组解:(1,1)、(2,6)、(3,8)、(4,3)、(5,7)、(6,4)、(7,2)、(8,5)、
第3组解:(1,1)、(2,7)、(3,4)、(4,6)、(5,8)、(6,2)、(7,5)、(8,3)、
第4组解:(1,1)、(2,7)、(3,5)、(4,8)、(5,2)、(6,4)、(7,6)、(8,3)、
第5组解:(1,2)、(2,4)、(3,6)、(4,8)、(5,3)、(6,1)、(7,7)、(8,5)、
第6组解:(1,2)、(2,5)、(3,7)、(4,1)、(5,3)、(6,8)、(7,6)、(8,4)、
第7组解:(1,2)、(2,5)、(3,7)、(4,4)、(5,1)、(6,8)、(7,6)、(8,3)、
第8组解:(1,2)、(2,6)、(3,1)、(4,7)、(5,4)、(6,8)、(7,3)、(8,5)、
第9组解:(1,2)、(2,6)、(3,8)、(4,3)、(5,1)、(6,4)、(7,7)、(8,5)、
第10组解:(1,2)、(2,7)、(3,3)、(4,6)、(5,8)、(6,5)、(7,1)、(8,4)、
第11组解:(1,2)、(2,7)、(3,5)、(4,8)、(5,1)、(6,4)、(7,6)、(8,3)、
第12组解:(1,2)、(2,8)、(3,6)、(4,1)、(5,3)、(6,5)、(7,7)、(8,4)、
第13组解:(1,3)、(2,1)、(3,7)、(4,5)、(5,8)、(6,2)、(7,4)、(8,6)、
第14组解:(1,3)、(2,5)、(3,2)、(4,8)、(5,1)、(6,7)、(7,4)、(8,6)、
第15组解:(1,3)、(2,5)、(3,2)、(4,8)、(5,6)、(6,4)、(7,7)、(8,1)、
第16组解:(1,3)、(2,5)、(3,7)、(4,1)、(5,4)、(6,2)、(7,8)、(8,6)、
第17组解:(1,3)、(2,5)、(3,8)、(4,4)、(5,1)、(6,7)、(7,2)、(8,6)、
第18组解:(1,3)、(2,6)、(3,2)、(4,5)、(5,8)、(6,1)、(7,7)、(8,4)、
第19组解:(1,3)、(2,6)、(3,2)、(4,7)、(5,1)、(6,4)、(7,8)、(8,5)、
第20组解:(1,3)、(2,6)、(3,2)、(4,7)、(5,5)、(6,1)、(7,8)、(8,4)、
第21组解:(1,3)、(2,6)、(3,4)、(4,1)、(5,8)、(6,5)、(7,7)、(8,2)、
第22组解:(1,3)、(2,6)、(3,4)、(4,2)、(5,8)、(6,5)、(7,7)、(8,1)、
第23组解:(1,3)、(2,6)、(3,8)、(4,1)、(5,4)、(6,7)、(7,5)、(8,2)、
第24组解:(1,3)、(2,6)、(3,8)、(4,1)、(5,5)、(6,7)、(7,2)、(8,4)、
第25组解:(1,3)、(2,6)、(3,8)、(4,2)、(5,4)、(6,1)、(7,7)、(8,5)、
第26组解:(1,3)、(2,7)、(3,2)、(4,8)、(5,5)、(6,1)、(7,4)、(8,6)、
第27组解:(1,3)、(2,7)、(3,2)、(4,8)、(5,6)、(6,4)、(7,1)、(8,5)、
第28组解:(1,3)、(2,8)、(3,4)、(4,7)、(5,1)、(6,6)、(7,2)、(8,5)、
第29组解:(1,4)、(2,1)、(3,5)、(4,8)、(5,2)、(6,7)、(7,3)、(8,6)、
第30组解:(1,4)、(2,1)、(3,5)、(4,8)、(5,6)、(6,3)、(7,7)、(8,2)、
第31组解:(1,4)、(2,2)、(3,5)、(4,8)、(5,6)、(6,1)、(7,3)、(8,7)、
第32组解:(1,4)、(2,2)、(3,7)、(4,3)、(5,6)、(6,8)、(7,1)、(8,5)、
第33组解:(1,4)、(2,2)、(3,7)、(4,3)、(5,6)、(6,8)、(7,5)、(8,1)、
第34组解:(1,4)、(2,2)、(3,7)、(4,5)、(5,1)、(6,8)、(7,6)、(8,3)、
第35组解:(1,4)、(2,2)、(3,8)、(4,5)、(5,7)、(6,1)、(7,3)、(8,6)、
第36组解:(1,4)、(2,2)、(3,8)、(4,6)、(5,1)、(6,3)、(7,5)、(8,7)、
第37组解:(1,4)、(2,6)、(3,1)、(4,5)、(5,2)、(6,8)、(7,3)、(8,7)、
第38组解:(1,4)、(2,6)、(3,8)、(4,2)、(5,7)、(6,1)、(7,3)、(8,5)、
第39组解:(1,4)、(2,6)、(3,8)、(4,3)、(5,1)、(6,7)、(7,5)、(8,2)、
第40组解:(1,4)、(2,7)、(3,1)、(4,8)、(5,5)、(6,2)、(7,6)、(8,3)、
第41组解:(1,4)、(2,7)、(3,3)、(4,8)、(5,2)、(6,5)、(7,1)、(8,6)、
第42组解:(1,4)、(2,7)、(3,5)、(4,2)、(5,6)、(6,1)、(7,3)、(8,8)、
第43组解:(1,4)、(2,7)、(3,5)、(4,3)、(5,1)、(6,6)、(7,8)、(8,2)、
第44组解:(1,4)、(2,8)、(3,1)、(4,3)、(5,6)、(6,2)、(7,7)、(8,5)、
第45组解:(1,4)、(2,8)、(3,1)、(4,5)、(5,7)、(6,2)、(7,6)、(8,3)、
第46组解:(1,4)、(2,8)、(3,5)、(4,3)、(5,1)、(6,7)、(7,2)、(8,6)、
第47组解:(1,5)、(2,1)、(3,4)、(4,6)、(5,8)、(6,2)、(7,7)、(8,3)、
第48组解:(1,5)、(2,1)、(3,8)、(4,4)、(5,2)、(6,7)、(7,3)、(8,6)、
第49组解:(1,5)、(2,1)、(3,8)、(4,6)、(5,3)、(6,7)、(7,2)、(8,4)、
第50组解:(1,5)、(2,2)、(3,4)、(4,6)、(5,8)、(6,3)、(7,1)、(8,7)、
第51组解:(1,5)、(2,2)、(3,4)、(4,7)、(5,3)、(6,8)、(7,6)、(8,1)、
第52组解:(1,5)、(2,2)、(3,6)、(4,1)、(5,7)、(6,4)、(7,8)、(8,3)、
第53组解:(1,5)、(2,2)、(3,8)、(4,1)、(5,4)、(6,7)、(7,3)、(8,6)、
第54组解:(1,5)、(2,3)、(3,1)、(4,6)、(5,8)、(6,2)、(7,4)、(8,7)、
第55组解:(1,5)、(2,3)、(3,1)、(4,7)、(5,2)、(6,8)、(7,6)、(8,4)、
第56组解:(1,5)、(2,3)、(3,8)、(4,4)、(5,7)、(6,1)、(7,6)、(8,2)、
第57组解:(1,5)、(2,7)、(3,1)、(4,3)、(5,8)、(6,6)、(7,4)、(8,2)、
第58组解:(1,5)、(2,7)、(3,1)、(4,4)、(5,2)、(6,8)、(7,6)、(8,3)、
第59组解:(1,5)、(2,7)、(3,2)、(4,4)、(5,8)、(6,1)、(7,3)、(8,6)、
第60组解:(1,5)、(2,7)、(3,2)、(4,6)、(5,3)、(6,1)、(7,4)、(8,8)、
第61组解:(1,5)、(2,7)、(3,2)、(4,6)、(5,3)、(6,1)、(7,8)、(8,4)、
第62组解:(1,5)、(2,7)、(3,4)、(4,1)、(5,3)、(6,8)、(7,6)、(8,2)、
第63组解:(1,5)、(2,8)、(3,4)、(4,1)、(5,3)、(6,6)、(7,2)、(8,7)、
第64组解:(1,5)、(2,8)、(3,4)、(4,1)、(5,7)、(6,2)、(7,6)、(8,3)、
第65组解:(1,6)、(2,1)、(3,5)、(4,2)、(5,8)、(6,3)、(7,7)、(8,4)、
第66组解:(1,6)、(2,2)、(3,7)、(4,1)、(5,3)、(6,5)、(7,8)、(8,4)、
第67组解:(1,6)、(2,2)、(3,7)、(4,1)、(5,4)、(6,8)、(7,5)、(8,3)、
第68组解:(1,6)、(2,3)、(3,1)、(4,7)、(5,5)、(6,8)、(7,2)、(8,4)、
第69组解:(1,6)、(2,3)、(3,1)、(4,8)、(5,4)、(6,2)、(7,7)、(8,5)、
第70组解:(1,6)、(2,3)、(3,1)、(4,8)、(5,5)、(6,2)、(7,4)、(8,7)、
第71组解:(1,6)、(2,3)、(3,5)、(4,7)、(5,1)、(6,4)、(7,2)、(8,8)、
第72组解:(1,6)、(2,3)、(3,5)、(4,8)、(5,1)、(6,4)、(7,2)、(8,7)、
第73组解:(1,6)、(2,3)、(3,7)、(4,2)、(5,4)、(6,8)、(7,1)、(8,5)、
第74组解:(1,6)、(2,3)、(3,7)、(4,2)、(5,8)、(6,5)、(7,1)、(8,4)、
第75组解:(1,6)、(2,3)、(3,7)、(4,4)、(5,1)、(6,8)、(7,2)、(8,5)、
第76组解:(1,6)、(2,4)、(3,1)、(4,5)、(5,8)、(6,2)、(7,7)、(8,3)、
第77组解:(1,6)、(2,4)、(3,2)、(4,8)、(5,5)、(6,7)、(7,1)、(8,3)、
第78组解:(1,6)、(2,4)、(3,7)、(4,1)、(5,3)、(6,5)、(7,2)、(8,8)、
第79组解:(1,6)、(2,4)、(3,7)、(4,1)、(5,8)、(6,2)、(7,5)、(8,3)、
第80组解:(1,6)、(2,8)、(3,2)、(4,4)、(5,1)、(6,7)、(7,5)、(8,3)、
第81组解:(1,7)、(2,1)、(3,3)、(4,8)、(5,6)、(6,4)、(7,2)、(8,5)、
第82组解:(1,7)、(2,2)、(3,4)、(4,1)、(5,8)、(6,5)、(7,3)、(8,6)、
第83组解:(1,7)、(2,2)、(3,6)、(4,3)、(5,1)、(6,4)、(7,8)、(8,5)、
第84组解:(1,7)、(2,3)、(3,1)、(4,6)、(5,8)、(6,5)、(7,2)、(8,4)、
第85组解:(1,7)、(2,3)、(3,8)、(4,2)、(5,5)、(6,1)、(7,6)、(8,4)、
第86组解:(1,7)、(2,4)、(3,2)、(4,5)、(5,8)、(6,1)、(7,3)、(8,6)、
第87组解:(1,7)、(2,4)、(3,2)、(4,8)、(5,6)、(6,1)、(7,3)、(8,5)、
第88组解:(1,7)、(2,5)、(3,3)、(4,1)、(5,6)、(6,8)、(7,2)、(8,4)、
第89组解:(1,8)、(2,2)、(3,4)、(4,1)、(5,7)、(6,5)、(7,3)、(8,6)、
第90组解:(1,8)、(2,2)、(3,5)、(4,3)、(5,1)、(6,7)、(7,4)、(8,6)、
第91组解:(1,8)、(2,3)、(3,1)、(4,6)、(5,2)、(6,5)、(7,7)、(8,4)、
第92组解:(1,8)、(2,4)、(3,1)、(4,3)、(5,6)、(6,2)、(7,7)、(8,5)、
victorinsky
2008-01-19
打赏
举报
回复
回溯一下,基本上就是穷举,剪枝
aozhi
2008-01-19
打赏
举报
回复
小弟初写博客。前几天和同事一起研究递归算法。创作的冲动被激起了。于是写了以下的程序,用递归算法实现了八王后问题。测试通过,但程序里没有把结果输出到文件。姑且用eightqueen.exe >> output.dat来把结果输出到文件吧。哈哈。
//---------------------------------------------------------------------------
#pragma hdrstop
#include <stdio.h>
#include <malloc.h>
#define BLANKCELL ' '
#define INHABITEDCELL 'O'
#define ATTACKEDCELL 'X'
#define MAXLENGTH 8
#define MAXGRID (MAXLENGTH*MAXLENGTH)
//---------------------------------------------------------------------------
char* CreateChessboard(const char* InChessboard);
void DisplayChessboard(const char* Chessboard);
char* SetAChess(const char* InChessboard, int row, int col);
void Find(const char* InChessboard, int Row, int Rows);
#pragma argsused
int main(int argc, char* argv[])
{
char *Chessboard=CreateChessboard(NULL);
Find(Chessboard, 0, MAXLENGTH);
getch();
return 0;
}
//---------------------------------------------------------------------------
char* CreateChessboard(const char* InChessboard)
{
int i;
char* Chessboard=(char*)malloc(sizeof(char)*MAXGRID);
if(!Chessboard)
{
printf("No enough space!\n");
exit(0);
}
if(InChessboard)
{
for(i=0;i<MAXGRID;i++)
{
*(Chessboard+i)=*(InChessboard+i);
}
}
else
{
for(i=0;i<MAXGRID;i++)
{
*(Chessboard+i)=BLANKCELL;
}
}
return Chessboard;
}
void DisplayChessboard(const char* Chessboard)
{
int i,j;
for(i=0;i<MAXLENGTH;i++)
{
for(j=0;j<MAXLENGTH;j++)
{
printf("%c",*(Chessboard+i*MAXLENGTH+j));
}
printf("\n");
}
printf("\n");
}
char* SetAChess(const char* InChessboard, int row, int col)
{
char *OutChessboard=CreateChessboard(InChessboard);
int i,j;
for(i=0;i<MAXLENGTH;i++)
{
*(OutChessboard+row*MAXLENGTH+i)=*(OutChessboard+row*MAXLENGTH+i)==INHABITEDCELL?INHABITEDCELL:ATTACKEDCELL;
*(OutChessboard+i*MAXLENGTH+col)=*(OutChessboard+i*MAXLENGTH+col)==INHABITEDCELL?INHABITEDCELL:ATTACKEDCELL;
}
for(i=row,j=col;i>=0&&j>=0;i--,j--)
{
*(OutChessboard+i*MAXLENGTH+j)=*(OutChessboard+i*MAXLENGTH+j)==INHABITEDCELL?INHABITEDCELL:ATTACKEDCELL;
}
for(i=row,j=col;i<MAXLENGTH&&j<MAXLENGTH;i++,j++)
{
*(OutChessboard+i*MAXLENGTH+j)=*(OutChessboard+i*MAXLENGTH+j)==INHABITEDCELL?INHABITEDCELL:ATTACKEDCELL;
}
for(i=row,j=col;i<MAXLENGTH&&j>=0;i++,j--)
{
*(OutChessboard+i*MAXLENGTH+j)=*(OutChessboard+i*MAXLENGTH+j)==INHABITEDCELL?INHABITEDCELL:ATTACKEDCELL;
}
for(i=row,j=col;i>=0&&j<MAXLENGTH;i--,j++)
{
*(OutChessboard+i*MAXLENGTH+j)=*(OutChessboard+i*MAXLENGTH+j)==INHABITEDCELL?INHABITEDCELL:ATTACKEDCELL;
}
*(OutChessboard+row*MAXLENGTH+col)=INHABITEDCELL;
return OutChessboard;
}
void Find(const char* InChessboard, int Row, int Rows)
{
int i;
static int c=0;
char *Chessboard=CreateChessboard(InChessboard);
if(Row>=Rows)
{
c++;
printf("case %d\n",c);
DisplayChessboard(InChessboard);
return Chessboard;
}
for(i=0;i<MAXLENGTH;i++)
{
if(*(InChessboard+Row*MAXLENGTH+i)==BLANKCELL)
{
Chessboard=SetAChess(InChessboard, Row, i);
Find(Chessboard, Row+1, Rows);
}
}
}
C语言
八皇后问题
所有解
C语言求解出八皇后所有解,稍作修改可以推至n皇后问题
8皇后问题输出所有解的点阵图
c语言的代码,解决8皇后问题,输出为棋盘式的0,1点阵图,有需要可下载
内功修炼之数据结构与算法
内容简介: 无论你是从事业务开发,还是从事架构设计,想要优化设计模式,数据结构与算法是必备的一门学科,本课程使用Java来讲解数据结构和算法,考虑到数据结构和算法较难,授课采用图解加算法游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、
八皇后问题
、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘算法。为什么学数据结构与算法? 算法是一个程序员真正的核心竞争力。无论用哪种语言做开发,算法从程序角度而言都是灵魂内核般的存在。程序的躯体可以各式各样,但是内核一定要追求高效整洁。同时掌握了算法,大厂名企的Offer不再是梦寐以求的梦想,而让程序高效且健壮,也不再是难以完成的技术难题。所以无论是为提升自我内功修炼,还是提升程序灵魂内核健全,学习算法,都是现有可供选项里的最优解。课程大纲:为了让大家快速系统了解数据结构与算法知识全貌,我为你总结了「数据结构与算法框架图」,帮你梳理学习重点,建议收藏!! CSDN学院Java答疑群:
八皇后问题
回溯求解 matlab
用回溯求解法求解
八皇后问题
,经典问题matlab实现,欢迎大家下载
Matlab 递归求解
八皇后问题
Matlab写的求解
八皇后问题
的程序,可以求出全部的92个解
数据结构与算法
33,007
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章