您的当前位置:首页正文

八皇后伪代码

2023-09-07 来源:客趣旅游网


用伪码实现八皇后问题的递归算法

int m=0,ok=1;

int n=8;

do

{

if(ok)

if(m==n)

{

输出解;

调整;

}

else 扩展;

else 调整;

1

ok=前m个的合理性;

}

while(m!=0);

#include

#define N 8

void main( )

{

int n=N-1;

int good=1;

int m=0;

int col[N];

int a[N];

int b[2*N-1];

2

int c[2*N-1];

col[0]=0;

for(int i=0;i{

a[i]=1;

}

for(i=0;i<2*N-1;i++)

{

b[i]=c[i]=1;

}

do

{

if(good)

3

if(m==n)

{

cout<<\"其中一个解答\"<{

for(int l=0;lif(col[l]==r)

cout<<\" Q \";

else

cout<<\" * \";

cout<<\"\\n\";

}

4

{

while(col[m]==n)

{

m--;

a[col[m]]=b[m+col[m]]=c[m+n-col[m]]=1;

}

col[m]++;

}

else

{

a[col[m]]=b[m+col[m]]=c[m+n-col[m]]=0;

col[++m]=1;

}

}

5

else

{

while(col[m]==n)

{

m--;

a[col[m]]=b[m+col[m]]=c[m+n-col[m]]=1;

}

col[m]++;

}

good=a[col[m]]&&b[m+col[m]]&&c[m+n-col[m]];

}while(m!=0);

}

6

因篇幅问题不能全部显示,请点此查看更多更全内容