⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6-3.c

📁 数据结构经典算法一书源代码和习题解答实现代码。
💻 C
字号:
#include "stdio.h"
int a[8],b[24],c[24],d[24];
int i, k,t=0; 
void  print()
{    
	t++;
    printf("       %d",t);
    for (k=0;k<8;k++)
		printf("   %d",a[k]);
    printf("\n");
}
void try(int i)
{
	int j;
   	for (j=0;j<8;j++)
	{/*每个皇后都有8种可能位置*/
        if ((b[j]==0) &&(c[i+j]==0)&& (d[i-j]==0))/*判断位置是否冲突*/
        {
              a[i]=j;/*摆放皇后*/
              b[j]=1;/*宣布占领第J行*/
              c[i+j]=1; /*占领两个对角线*/
              d[i-j]=1;
              if (i<8) 
				try(i+1);/*8个皇后没有摆完,递归摆放下一皇后*/
              else 
				print();/*完成任务,打印结果*/
             b[j]=0;    /*回溯*/
             c[i+j]=0;
             d[i-j]=0;
        }
	}
}
void main()
{
	for( k=0;k<24;k++) 
	{/*数据初始化*/
    	b[k]=0;
		c[k]=0;
    	d[k]=0;
  	}
 	try(1);/*从第1个皇后开始放置*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -