创新工场 笔试 八皇后问题
来源:互联网 发布:软件开发验收标准 编辑:程序博客网 时间:2024/06/05 20:20
其实没那么难
int count = 0; //统计棋局个数int queen[9] = {0}; //表示第column列填的棋子是在第 queen[column] 行//该函数表示填充column列的棋子void eight_queen( int column ){ if( column>0 && column <9 ){ //填子while( ++queen[column] <9){int ok=1; //辅助变量,帮助判断棋子能不能填for(int i=1;i<column; ++i){ //测试不能填棋子的情况if( queen[column]==queen[i] || column-i == queen[column]-queen[i] || column-i == queen[i]-queen[column] ){ ok=0;break;}}if( 1 == ok) { //能填棋子的话,对后面的元素初始化for(int i=column+1;i<9;++i)queen[i]=0;eight_queen(column+1);}}}else if( 9 == column){ //表示这已经成功填入了8个皇后for( int i=1; i<9; ++i){std::cout<< 8 * ( queen[i] -1 ) +i<<'\t';}count++;std::cout<<std::endl;return -1;}}int main(void){ eight_queen(1); std::cout<<"count="<<count<<std::endl; getchar(); return 0;}
- 创新工场 笔试 八皇后问题
- 创新工场笔试
- 创新工场笔试
- 创新工场笔试题
- 创新工场笔试题
- 创新工场笔试题
- 创新工场笔试题
- 创新工场笔试
- 创新工场笔试题
- 创新工场笔试题整理
- 创新工场笔试题整理
- 创新工场一道笔试题
- 2012.09.20创新工场笔试
- 创新工场笔试+面试小结
- 创新工场笔试题整理
- 2014创新工场笔试题
- 创新工场2018笔试题
- 创新工场笔试题--笔试地点:华南理工大学
- Android面试题总结加强版(四)
- USACO_1.2_milk2
- LucidDB 数据库常用命令
- 切换视时基于FormView的对话框属性设置与ASSERT报错的问题 (Debug Assertion Failed!)
- windows下面mysql重置root密码
- 创新工场 笔试 八皇后问题
- 一些软件设计的原则
- 冒泡排序
- ASP.NET 4 的重大变化(和旧版本相比)
- mini2440看门狗驱动
- Delphi在C/S架构项目中考虑到SQLServer客户端断电的用户登录问题
- 为什么Java的string类要设成对象,其他的基本类型为什么不是对象
- Linux IPv6 HOWTO
- 泛型算法和迭代器适配器对整数排序