[原创]八皇后最简单且最垃圾的算法
这是一个针对八个皇后的程序.#include <iostream.h>
#include <stdlib.h>
int max=8;
class queen{
public:
void placequeen(){
int a,b,c,d,e,f,g,h;
int q[8];
int times=0;
for(a=0;a<max;a++){
for(b=0;b<max;b++){
if(b==a||b==a+1||b==a-1)continue;
for(c=0;c<max;c++){
if(c==b||c==b+1||c==b-1||c==a||c==a+2||c==a-2)continue;
for(d=0;d<max;d++){
if(d==c||d==c+1||d==c-1||d==b||d==b+2||d==b-2||d==a||d==a+3||d==a-3)continue;
for(e=0;e<max;e++){
if(e==d||e==d+1||e==d-1||e==c||e==c+2||e==c-2||e==b||e==b+3||e==b-3||e==a||e==a+4||e==a-4)continue;
for(f=0;f<max;f++){
if(f==e||f==e+1||f==e-1||f==d||f==d+2||f==d-2||f==c||f==c+3||f==c-3||f==b||f==b+4||f==b-4||f==a||f==a+5||f==a-5)continue;
for(g=0;g<max;g++){
if(g==f||g==f+1||g==f-1||g==e||g==e+2||g==e-2||g==d||g==d+3||g==d-3||g==c||g==c+4||g==c-4||g==b||g==b+5||g==b-5||g==a||g==a+6||g==a-6)continue;
for(h=0;h<max;h++){
if(h==g||h==g+1||h==g-1||h==f||h==f+2||h==f-2||h==e||h==e+3||h==e-3||h==d||h==d+4||h==d-4||h==c||h==c+5||h==c-5||h==b||h==b+6||h==b-6||h==a||h==a+7||h==a-7) continue;
cout<<"*****第"<<times+1<<"个*****:"<<endl ;
q[a] =a;cout<<" 第一行皇后位子: "<<q[a]<<endl;
q[b] =b;cout<<" 第二行皇后位子: "<<q[b]<<endl;
q[c] =c;cout<<" 第三行皇后位子: "<<q[c]<<endl;
q[d] =d;cout<<" 第四行皇后位子: "<<q[d]<<endl;
q[e] =e;cout<<" 第五行皇后位子: "<<q[e]<<endl;
q[f] =f;cout<<" 第六行皇后位子: "<<q[f]<<endl;
q[g] =g;cout<<" 第七行皇后位子: "<<q[g]<<endl;
q[h] =h;cout<<" 第八行皇后位子: "<<q[h]<<endl;
times++;
system("pause");
}
}
}
}
}
}
}
}
cout<<"〓〓〓一共"<<times<<"个〓〓〓"<<endl;
}
};
void main(){
cout<<"\t\t\t\t八皇后问题" <<endl;
queen A;
A.placequeen();
system("pause");
}