n皇后問題,關於n皇后的類似問題 C

2025-01-08 23:55:28 字數 1162 閱讀 7206

1樓:網友

* 迭代解n皇后問題 */

#include

#include

#include

int n; /乙個n*n的棋盤*/

int *site; /全域性變數儲存棋盤,site[1]~site[n]儲存n個皇后的行號1~n */

檢查當前侯選解的合理性 */

int isok(int n)

int i;

for(i=1;i=1 &&site[m] =n)m --if(m>=1)

site[m] +

else* 擴充套件當前侯選解至下一列 */

m++;site[m] =1;

else* 改變之,形成下一侯選解 */

if(site[m] site[m]++

elsem --

while(m>=1 &&site[m] =n)m --if(m>=1)

site[m] +

檢查當前侯選解的合理性*/

good = isok(m);

while(m!=0);

2樓:卡哇伊大美女

什麼意思,把題目說清楚。

關於n皇后的類似問題 c

3樓:網友

可以先固定一箇中心點,由於棋盤為n*n的正方形,所以無論該中心點放在**,由該點延伸出行與列的總和是固定的:2n-1

剩下的就是找到能夠取得最多斜線點的位置,顯然它就在中心,因為在正方形中你能畫出的最長的直線就是對角線,兩條對角線交點就是最適合的點。

但除此之外,還要考慮n的奇偶性:

若n為奇數,那就是**點了,點數和為:(2n-1)+(2n-2)=4n-3

若n為偶數,那就是**周圍4點了,點數和為:(2n-1)+2*(n-2)=4n-5

所以程式就直接簡化為:

#include

void main(void){

unsigned int n;

printf("enter n:");

scanf("%d",&n);

if(n mod 2==0)

printf("the maxnum is %d",4*n-5);

elseprintf("the maxnum is %d",4*n-3);

關於n72的問題

訊號一格都沒有連 中國聯通 這4個字也消失了,網路問題,而且打 時對方聽不到我的聲音 我卻能聽到對方的聲音 有可能是網路問題,也有可能是手機問題。n72沒訊號的時候 就是 會消失 中國聯通或者中國移動啊,但是你聽到別人說話別人聽不到你說話,那應該是手機問題吧 主機板出問題了。可能要住院了。手機問題不...

諾基亞N8的問題,糾結好久了,關於諾基亞n

1,n8可以用的看 通軟體很多,可以去找免籤的閱讀星。3加密檔案需要用軟體,不過不建議,因為怕你弄不懂最後需要格式化才能破解。4扣費可能是你去ovi商店,說是話,裡面的東西都是垃圾,你會用問問題,你就應該會用搜軟體,而且扣費可能是你gprs用冒了,運營商扣得錢。5,斷開連線,在設定 手機設定 網路連...

關於空之境界的N個問題,關於空之境界的N個問題

兩儀式只是本能的想殺人,但她真正只殺過一個人,就是白純裡緒 1.貫穿整部 線索 2.本能,只有殺人才能有自己的存在感 3.兩儀家特別的血統 4.同校生 5.未說明 6.因為他是魔術師 好吧,找不到的話怎麼開始故事系列。這得問蘑菇 7.那個是魔術 8.橙子是禁斷魔術師。蒼崎家的血統和研究問題9.同校生...