[数据结构]N皇后问题解决

这是偶今天实验课作业
同样找了个代码,稍微改改,编译通过

N皇后问题大家都知道吧
由八皇后问题扩展开来,即n*n的棋盘上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法

代码
gcc (GCC) 3.3.5 (Debian Linux 1:3.3.5-13) 编译通过

C语言递归实现


#include “stdio.h”
#include “stdlib.h”
#define QUEEN 8
int count = 0; //用于计算解集数量

/*
a[i] = j
表示在棋盘上第i行第j列放有一个棋子
*/

/* 输出N皇后问题的解
输入:
a[]
保存棋子信息的数组.

length
数组的长度 八皇后即为8
*/

void output (int a[],int length){
int i ,j;
count ++;
printf(“The %d of the solution is :\n”,count);
for(i =0;i

1 Response to “[数据结构]N皇后问题解决”


Comments are currently closed.