dfs练习4——八皇后

八皇后算法描述如下:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法!
在这里插入图片描述 

#include
#include

int r[9], m[9], count = 0;

int p(int i);
int main()
{
	printf("%d", p(1));
	
	return 0;
 } 
 
int p(int i)
{
	int j, k, x, y;
	if(i==9)//边界 
	{
		count++; 
		for(x = 1;x<=8;x++)
		{
			printf("%d", r[x]);
		}
		if(x==9)
		{
			printf("\n");
		}
	}else{
		for(j = 1;j<=8;j++)//i列每一行检索 
		{
			if(m[j]==false)//j行未占用 
			{
				bool flag = true;
				for(k = 1;k

 

 

你可能感兴趣的:(八皇后,dfs)