8皇后问题 c++
2014-05-06 17:34
495 查看
#include
using namespace std;
#include
#include
int Q[8];
int kn = 0;
void print()
{
cout<<"第"<<kn<<"种"<<endl;
for(int i = 0; i < 8; i++)
{
switch(Q[i])
{
case 0:
cout<<"米一一一一一一一"<<endl;
break;
case 1:
cout<<"一米一一一一一一"<<endl;
break;
case 2:
cout<<"一一米一一一一一"<<endl;
break;
case 3:
cout<<"一一一米一一一一"<<endl;
break;
case 4:
cout<<"一一一一米一一一"<<endl;
break;
case 5:
cout<<"一一一一一米一一"<<endl;
break;
case 6:
cout<<"一一一一一一米一"<<endl;
break;
case 7:
cout<<"一一一一一一一米"<<endl;
break;
}
}
cout<<endl;
}
int test(int i){
int k;
for(k = 0; k < i; k++){
if((abs(Q[k] - Q[i]) == abs(k
- i)) || Q[k] == Q[i]){
return
0;
}
}
return 1;
}
void putNode(int i){
if(i > 7){
kn++;
print();
return ;
}
else{
int k;
for(k = 1; k <= 8;
k++){
Q[i] =
k;
if(test(i)){
//Q[i] = k;
putNode(i+1);
}
}
}
}
int main(){
putNode(0);
cout<<"一共有"<<kn<<"种"<<endl;
return 0;
}
using namespace std;
#include
#include
int Q[8];
int kn = 0;
void print()
{
cout<<"第"<<kn<<"种"<<endl;
for(int i = 0; i < 8; i++)
{
switch(Q[i])
{
case 0:
cout<<"米一一一一一一一"<<endl;
break;
case 1:
cout<<"一米一一一一一一"<<endl;
break;
case 2:
cout<<"一一米一一一一一"<<endl;
break;
case 3:
cout<<"一一一米一一一一"<<endl;
break;
case 4:
cout<<"一一一一米一一一"<<endl;
break;
case 5:
cout<<"一一一一一米一一"<<endl;
break;
case 6:
cout<<"一一一一一一米一"<<endl;
break;
case 7:
cout<<"一一一一一一一米"<<endl;
break;
}
}
cout<<endl;
}
int test(int i){
int k;
for(k = 0; k < i; k++){
if((abs(Q[k] - Q[i]) == abs(k
- i)) || Q[k] == Q[i]){
return
0;
}
}
return 1;
}
void putNode(int i){
if(i > 7){
kn++;
print();
return ;
}
else{
int k;
for(k = 1; k <= 8;
k++){
Q[i] =
k;
if(test(i)){
//Q[i] = k;
putNode(i+1);
}
}
}
}
int main(){
putNode(0);
cout<<"一共有"<<kn<<"种"<<endl;
return 0;
}
相关文章推荐
- C++实现&nbsp;贪心算法-区间覆盖问题
- ACM: dfs题 poj 1321 (n皇后问题)
- Linux&nbsp;C++多文件编译问题
- 总结: 从N皇后问题里面的归纳深搜…
- 解决vs2010“创建或打开C++浏览数据库文件 发生错误”的问题" .
- C++&nbsp;指针学习累积(持续)
- C++&nbsp;有符号&nbsp;无符号数
- sokcet&nbsp;断开重连问题
- 背包九讲之三 P03: 多重背包问题
- poj 3207 简单的2-SAT问题
- C#中调用C++&nbsp;动态链接库&nbsp;dll&nbsp;的方…
- J2ME&nbsp;内存占用的问题
- matlab 规划问题 利用蒙…
- c/c++&nbsp;缓冲输入和非缓冲输入
- C++ Q&A(六)构造函数的常见问题
- C++ 重载(overload)、重写(overrri…
- 【每日一题】 优先级、左移问题
- 在Eclipse中运行C++程序出现"Launch failed. Binary not foud"和"Program file not Specified"的问题
- C++ Primer 笔记12
- XML&nbsp;中的常见问题&nbsp;(三)