用回溯法求解八皇后问题(循环)
发布时间
阅读量:
阅读量
利用回溯法解决八皇后问题(循环)
2.用循环解决
#include <stdio.h>
#include <stdlib.h>
int a[20],n,sum;
void output()//输出
{
int i,j;
for(i = 1; i<=n; i++)
{
for(j = 1; j<=n; j++)
{
if(a[i]==j)
printf(" Q");
else
printf(" *");
}
printf("\n");
}
printf("\n");
}
int check(int k)//检查当前位置是否可放
{
int i;
for(i = 1; i<=k-1; i++)
//abs(a[i] - a[k])==abs(i - k))用于判断当前位置是否在前面任一皇后的左下斜线或右下斜线方向
//(a[i]==a[k])用于判断当前位置是否在前面任一皇后的正下方
if( (abs(a[i] - a[k
全部评论 (0)
还没有任何评论哟~
