HDU 2553 N皇后問題 (DFS 回溯)

2021-09-07 16:57:46 字數 503 閱讀 7562

problem description

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

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

input

共同擁有若干行。每行乙個正整數n≤10,表示棋盤和皇后的數量;假設n=0。表示結束。

output

共同擁有若干行。每行乙個正整數,表示相應輸入行的皇后的不同放置數量。

sample input

1 8 5 0

sample output

1 92 10

直接求會超時。打個表就不會了。。。

#include#include#includeusing namespace std;

int a[20],ans,n,f[20];

void dfs(int cnt)

for(int i=0;i

HDU2553 N皇后問題(DFS)

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

HDU2553 N皇后問題(dfs)

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

HDU2553 N皇后問題 DFS

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