這個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棋盤裡使不存在兩個皇后在同行同列和同一斜線上...