-
* 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