【面试准备】八皇后问题
2014-09-04 16:12
127 查看
seat[i]=j;表示第i行皇后放在第j列位置上
判断是否可以放置 (seat[i]-i)==(seat -n)||(seat[i]+i)==(seat +n)||(seat[i]==seat )
</pre><pre name="code" class="cpp">
</pre><pre name="code" class="cpp">
#include <iostream> using namespace std; #define Slove_num 8 int seat[Slove_num]; bool ok(int n); int count = 0; void queen(int n){ if(n == Slove_num){ for(int i = 0;i < n; ++i){ cout<<"("<<i<<","<<seat[i]<<")"<<" "; } cout<<endl; count++; return ; } for(int i = 0; i < Slove_num; ++i){ seat = i; if(ok(n)){ queen(n+1); } } } bool ok(int n){ for(int i = 0; i < n; ++i){ if((seat[i]-i)==(seat -n)||(seat[i]+i)==(seat +n)||(seat[i]==seat )){ return false; } } return true; } int main(){ queen(0); cout<<count<<endl; return 0; }
相关文章推荐
- [导入]发布本人整理的面试问题大全,为准备找工作的同行们尽一份力!希望大家多补充或回答!
- [导入]发布本人整理的面试问题大全,为准备找工作的同行们尽一份力!希望大家多补充或回答!
- 实习面试概念性问题准备
- 面试问题准备
- 准备面试可以关注的问题------胡老师给的金玉良言
- 发布本人整理的面试问题大全,为准备找工作的同行们尽一份力!希望大家多补充或回答!
- 我的面试宝典(4):面试问题早准备
- 50个经典面试问答 面试时必需事先准备好的问题
- 经过几次的面试和笔试或者考试,难免会遇到一些棘手问题(总结下,为下一站准备)
- 面试中需要注意的一些问题及准备
- C#面试问题大全,为准备找工作的同行们尽一份力!希望大家多补充或回答!
- 也谈:你需要准备的五个面试问题 推荐
- 你需要准备的五个面试问题
- 面试经典之剑指offer--58--八皇后问题
- 你需要准备的五个面试问题
- [导入]发布本人整理的面试问题大全,为准备找工作的同行们尽一份力!希望大家多补充或回答!
- 考考准备面试的兄弟姐妹几个C#问题,看看你们是否够格&ldquo;精通C#&rdquo; - .NET技术 / C#
- 你需要准备的五个面试问题
- 面试问题准备
- 产品经理面试:哪些问题是你没有准备的?