eightQueen1.0
2015-08-31 21:38
591 查看
eightQueen.h
[code]extern int rows[8]; extern int solutionNum; void solveEightQueen(int n); bool checkPosition(int row,int col); void printSolution();
eightQueen.cpp
[code]#include"eightQueen.h" #include<iostream> using namespace std; //检测该位置是否可用 bool checkPosition(int row,int col){ for(int x=0;x<row;++x){ if(abs(row-x)==abs(col-rows[x])||col==rows[x]) return 0; } return 1; } //输出结果:输出为每行皇后所在位置,从0计起 void printSolution(){ cout<<solutionNum<<":::"<<endl; for(auto p:rows) cout<<p<<'\t'; cout<<endl; } //确定各行皇后位置 void solveEightQueen(int row){//起始,row=0 for(int col=0;col<8;++col){ if(checkPosition(row,col)){ rows[row]=col; if(row==7){ ++solutionNum; printSolution(); return; } solveEightQueen(row+1);//注意:这里不能用++row } } }
main.cpp
[code]#include"eightQueen.h" #include<iostream> using namespace std; int rows[8]={0}; int solutionNum=0; int main(){ solveEightQueen(0); cout<<"The total solution number is:: "<<solutionNum<<endl; return 0; }
该程序主要参考了别的网友的程序,其实主要的思想是在书上看到的但是自己总是写不出代码来。
相关文章推荐
- UIday0602:UISlider(滑块控件)的属性和用法
- iOS --- 使用GPUImage实现的简单滤镜效果
- Building a RESTful Web Service
- iOS开发学习之UIScrollerView实现新特性
- iOS-UI基础-02加法计算器
- iOS开发 ----- UI生命周期
- iOS开发 ----- UILable
- UIday0601:UISegmentedControl的属性和用法
- 基于MVC4+EasyUI的Web开发框架经验总结(4)--使用图表控件Highcharts
- iOS-UI基础-01简介
- GUI
- IOS关于UITabBarController的使用
- iOS:UIButton按钮的详解
- 自制Qt Quick场景切换管理类
- Version xx of the JVM is not suitable for this product
- 如何使用UIAutomation进行iOS 自动化测试(Part II)
- UITextFielddelegate委托方法注释
- UINavigationController 、界面通信
- 如何使用UIAutomation进行iOS 自动化测试(Part I)
- iOS 利用UIScrollView 对图片进行缩放