回溯法解决“八皇后”问题

8 篇文章 0 订阅

        “回溯法”和“八皇后”问题本身不再多做介绍,相信很多人都知道,尤其是学习过数据结构的人。如果还不清楚可以google或者baidu一下,亦或是找本数据结构的书看一下。

        “八皇后”问题:可以简单的理解为在一个8*8的棋盘上,放8个旗子(国际象棋中称为皇后queen),要求这8个棋子中任意两个都不在同一行、列、斜线上。

        “回溯法”用在这里的思路是:
                            1 逐行放置。
                            2 对于每一列,从第1列开始(对应矩阵的第0列),逐列测试其是否存在冲突。
                                 2.1  如果冲突就测试下一列,依次进行;
                                 2.2  如果不冲突,放置下一行;

程序代码如下:(如果想更改皇后数量,直接更改queen_number即可,例如:可衍生出在6*6棋盘上放6个皇后)

参考资料:《C和指针》

 本文链接:http://blog.csdn.net/daheiantian/archive/2011/01/23/6225328.aspx

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值