HDU 2553 N皇后問題

2022-05-30 18:15:20 字數 686 閱讀 6032

在n*n的方格棋盤放置了n個皇后,使得它們不相互攻擊(即任意2個皇后不允許處在同一排,同一列,也不允許處在與棋盤邊框成45角的斜線上。

你的任務是,對於給定的n,求出有多少種合法的放置方法。

input共有若干行,每行乙個正整數n≤10,表示棋盤和皇后的數量;如果n=0,表示結束。output共有若干行,每行乙個正整數,表示對應輸入行的皇后的不同放置數量。sample input

185

0

sample output

1

9210

#include #include 

#include

#include

#include

using

namespace

std;

#define ll long long

int n, position[18], line[18

], sum, r;

bool compare(int

miao)

int queen(int

t)

return

sum;

}int

main()

while(~scanf("

%d", &n) &&n)

return0;

}

HDU 2553 N皇后問題

題目 problem description 在n n的方格棋盤放置了n個皇后,使得它們不相互攻擊 即任意2個皇后不允許處在同一排,同一列,也不允許處在與棋盤邊框成45角的斜線上。你的任務是,對於給定的n,求出有多少種合法的放置方法。input 共有若干行,每行乙個正整數n 10,表示棋盤和皇后的數...

HDU 2553 N皇后問題

復健。一題經典的回溯法,要打表。include define max n 11 int n,res int c max n ans max n void dfs int cur if flag dfs cur 1 int main int m while scanf d m m printf d n...

HDU 2553 N皇后問題

題目資訊 一種非常有用的二進位制優化方法 hdu2553n皇后問題 problem description 在n n的方格棋盤放置了n個皇后,使得它們不相互攻擊 即任意2個皇后不允許處在同一排,同一列,也不允許處在與棋盤邊框成45角的斜線上。你的任務是,對於給定的n,求出有多少種合法的放置方法。in...