八皇后问题,输出了所有情况,不过有些结果只是旋转了90度


Posted in 面试题 onAugust 15, 2016
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度而已。(回溯算法的典型例题,是数据结构书上算法的具体实现,大家都亲自动手写过这个程序吗?)
#define N 8
int Board[N][N];
int Valid(int i, int j) { // 判断下棋位置是否有效
int k = 1;
for(k=1; i>=k && j>=k;k++)
if(Board[i-k][j-k]) return 0;
for(k=1; i>=k;k++)
if(Board[i-k][j]) return 0;
for(k=1; i>=k && j+k if(Board[i-k][j+k]) return 0;
return 1;
}

void Trial(int i, int n) { // 寻找合适下棋位置
if(i == n) {
for(int k=0; k for(int m=0; m printf(“%d “, Board[k][m]);
printf(“\n”);
}
printf(“\n”);
} else {
for(int j=0; j Board[i][j] = 1;
if(Valid(i,j))
Trial(i+1, n);
Board[i][j] = 0;
}
}
}

int main(int argc, char* argv[]) {
Trial(0, N);
}

Tags in this post...

面试题 相关文章推荐
PHP如何对用户密码进行加密
Jul 31 面试题
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
C,C++的几个面试题小集
Jul 13 面试题
C语言编程练习
Apr 02 面试题
struct和class的区别
Nov 20 面试题
为什么UNION ALL比UNION快
Mar 17 面试题
请解释流与文件有什么不同
Jul 29 面试题
传统软件工程与面向对象的软件工程有什么区别
May 31 面试题
什么是组件架构
May 15 面试题
Ajax的工作原理
Dec 04 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
May 20 面试题
什么时候需要进行强制类型转换
Sep 03 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 #面试题
大整数数相乘的问题
Jul 22 #面试题
C语言编程题
Mar 09 #面试题
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
Sep 11 #面试题
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
Jul 16 #面试题
一套带答案的C++笔试题
Jan 10 #面试题
写一个方法1000的阶乘
Nov 21 #面试题
You might like
php操作redis缓存方法分享
2015/06/03 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
JavaScript中的其他对象
2008/01/16 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
JS 表单验证大全
2011/11/23 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
mock.js模拟前后台交互
2019/07/25 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Python中将字典转换为列表的方法
2016/09/21 Python
老生常谈python函数参数的区别(必看篇)
2017/05/29 Python
python实现爬山算法的思路详解
2019/04/09 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
大学生四年生活自我鉴定
2013/11/21 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
导师就业推荐信范文
2014/05/22 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android