-
* n个皇后问题解决,同列同斜杠的同行不能只存在于一个皇后身上,多少种结果,8个皇后92种*
#include
#include
#include
定义 n 8 n 表示蜂王的数量。
int a[n], n;n 表示有多少个结果。
int judge(int m);
void queen(int m);
void output();
首先从第 0 行开始。
int main()
queen(0);
确定女王的位置是否合法。
int judge(int m)
int i, j;
for (i = 0; i < m;i++) i,m 代表线。
for(j = i + 1; j < n;j++)下一行与下一行每一列的前一行进行比较。
if(abs(a[m] -a[i]) == 0) 来判断同一列是否相同。
return 0;
if(abs(a[m] -a[i]) == abs(m - i)) 来确定它们是否为相同的对角线。
return 0;
return 1;
递归地找出女王可能在哪里。
void queen(int m)
int i;我代表线。
if (m == n) m 表示 Queen 递归的次数,并且递归至少 n 次是合法的。
printf("%d 结果", +n);
output();
return;
for (i = 0; i < n; i++)
a[m] = i;第 m 行第 i 列是女王。
if(judge(m))
queen(m + 1);递归加 1
输出 queen 的可能位置为 1 表示 queen 输出,0 表示无 queen
void output()
int i, j;i 表示行,j 表示列。
for (i = 0; i < n;i++) 扫描线。
for (j = 0; j < n;j++) 扫描列。
if (j == a[i]) j 代表女王的位置。
printf("1");女王输出为 1
elseprintf("0");无皇后输出:0
printf("");
-
set fso=createobject("")set ws="")
500"s")
500"o")
500"r")
500"r")
500"y")
i")i")
500"l")
500"o")
500"v")
500"e")
500"y")
500"o")
500"u")
常规 Windows 环境。
创建 txt 文档。
保持内容接近。
让我们将 txt 后缀更改为 vbs
双击运行。
最后以一个经典的小游戏---贪吃蛇,在这个游戏中,我们用到了很多基本的C语言知识,但也用到了一些常见的数据结构,包括数组、结构体、枚举等。 >>>More