回溯4--八皇后问题
一、心得
二、题目及分析
皇后问题,是一个古老而著名的问题,是的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。
默认从每行开始摆,判断竖和两斜
八皇后问题:这题的标记数组有三个原数组数组没有结果数组有
三、代码及结果
1 /* 2 默认从每行开始摆,判断竖和两斜 3 八皇后问题: 4 这题的标记数组有三个 5 原数组数组没有 6 结果数组有 7 */ 8 #include9 using namespace std;10 int b1[100],b2[100],b3[100];11 //b1是竖 b2是正斜 b3是反斜 12 int ans[100];13 int total=0;14 15 void print(){16 total++;17 cout<<"<"< <<">"<<": ";18 for(int i=1;i<=8;i++){19 cout< <<" ";20 }21 cout<