Cocos2dx------八皇后算法
2015-06-23 15:42
441 查看
皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。
思路就是 回溯算法,每行只摆一个棋子,第一个棋子摆在第一行的第一个位置,
第二个棋子摆在第二行的第一个位置,不可以,就第二个位置,还不可以,就继续。。。。。
。。。。
如果第N行摆到第8个位置了,就表示到尽头了,就使N-1行的位置往右移动一个格子,然后在考虑第N行。依次,不可以了,回溯。
结果输出
Num------------------1
1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
Num------------------2
1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
Num------------------3
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0
Num------------------4
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
。。。。。。
Cocos2dx 2.2.3 win32源码
http://yunpan.cn/cQq6PjkEPyIZB (提取码:651e)
思路就是 回溯算法,每行只摆一个棋子,第一个棋子摆在第一行的第一个位置,
第二个棋子摆在第二行的第一个位置,不可以,就第二个位置,还不可以,就继续。。。。。
。。。。
如果第N行摆到第8个位置了,就表示到尽头了,就使N-1行的位置往右移动一个格子,然后在考虑第N行。依次,不可以了,回溯。
结果输出
Num------------------1
1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
Num------------------2
1 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
Num------------------3
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0
Num------------------4
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
。。。。。。
Cocos2dx 2.2.3 win32源码
http://yunpan.cn/cQq6PjkEPyIZB (提取码:651e)
相关文章推荐
- cocos2dx AudioEngine(声音播放)音效播放结束判断测试和背景音乐播放
- cocos2d-x Android版游戏之中国移动SDK嵌入
- Cocos2dx------华容道
- cocos2dx 自带shader 创建一个三角形
- cocos2d:——第七节:动作
- cocos2D(八)---- CCMenu && CCMenuItem
- cocos2dx 3.x mac 下创建工程
- Cocos2dx 3.0 以上版本 集成 MFC
- cocos2d-x初探
- cocos2d-x初探
- Cocos2d-x的学习之旅(八)进度条
- doxygen如何调用graphviz查看cocos2dx源码
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十六课:Cocos2D-X几何图形1-3
- cocos js 怎样设置一个按钮(MenuItemSprite)为不可点击状态?
- cocos js 怎样在 runAction(cc.sequence(a1, a2)); 后执行一个回调函数?
- cocos2dx项目打包APK环境安装
- Cocos2d-x三国ACT手游《热血斩将》完整源码下载
- cocos js添加 按钮1
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十五课:Cocos2D-X事件处理1-7
- cocos js js java互调 (如何在ANDROID平台上使用JS直接调用JAVA)