N皇后問題

2021-10-11 08:56:36 字數 1762 閱讀 4246

這個n皇后問題絕了

pta上的測試就有乙個過不了。

等我有空了再來除錯吧。

#include

#include

int max =

0, sum =0;

int*a =

null

;int flag =0;

void

show()

*/if

(flag ==1)

for(

int i =

0; i < max; i++)if

(j == a[i]

)else

flag2 =1;

}printf

("\n");

} flag =1;

}int

check

(int n)

return1;

//之前有呼叫 eightqueen(n+1); //保證了不同行

}void

eightqueen

(int n)

}else

}void

test()

}}intmain()

我把max初始化為0就通過了檢驗,這是為什麼呢?我再仔細看看。

max = 8就不行,很苦惱!!!

旅遊規劃問題 使用動態規劃的方法,畫表。思想是這樣,但是裡面的細節還得自己琢磨。同時宣告,這裡的**是從

貼上過來,僅供參考,後續會加上我自己的理解。若是有疑問,請私聊我!

#include

#include

using

namespace std;

const

int mvnum =

1e3;

const

int inf =

1e5;

//節點到源節點的最短距離,是否被訪問,最小花費

struct

vertices[mvnum]

;struct

mgraph[mvnum]

[mvnum]

;//網的初始權值是無窮

//初始化邊的集合

void

initgraph

(int n)

}void

inputgraph

(int m)

}void

initvertices

(int n,

int s)

vertices[s]

.visit =1;

vertices[s]

.len =0;

vertices[s]

.cost =0;

}void

dijkstra

(int n,

int s)

//本題應該不存在這種情況 可不寫(寫了更邏輯更完整)

if(minver == n)

break

; vertices[minver]

.visit =1;

for(

int i =

0; i < n; i++

)else

if(vertices[i]

.len == vertices[minver]

.len + mgraph[minver]

[i].len)}}

}}intmain()

N皇后問題

include define maxqueens 20 define minqueens 4 enum bool typedef struct queendata queendata queendata queens maxqueens 1 int ncount init int init chec...

N皇后問題

採用遞迴回溯法 執行結果 輸入8 對於n皇后解的個數,參考 當n 16時,構造法給出解,參考poj 3239 一 當n mod 6 2 且 n mod 6 3時,有乙個解為 2,4,6,8,n,1,3,5,7,n 1 n為偶數 2,4,6,8,n 1,1,3,5,7,n n為奇數 上面序列第i個數為...

N皇后問題

問題 題目 於西洋棋的玩法,因為皇后所在的位置可以縱向 橫向 兩個斜向四個方向的 捕捉 所以8皇后問題就是要求如何布置8個皇后在8 8的棋盤上而使他們互相無法 捕捉 也就是說不存在兩個皇后同行或同列,或在同一斜線上。而n皇后問題就是如何布置n個皇后在n n棋盤裡使不存在兩個皇后在同行同列和同一斜線上...