P1219 八皇后 位運算優化

2021-07-26 16:07:57 字數 664 閱讀 3621

原題鏈結

八皇后,一道非常經典的老題了

但是今天要用位運算優化,老實說一開始有點難理解

實際上現在也暈暈乎乎的,因為實在是位運算苦手……不難但是就是反應不過來,「誒這個符號是……啊啊想起來了!」「不對現在講到哪了[驚]」「雖然知道了這個符號是幹什麼的……還是看不懂orz」

差不多是明白了要幹什麼,總之就是朝著不能放皇后的列標記標記標☆

洛谷上的題還要求輸出方案,稍微折騰了一下

總之我討厭位運算(╯>д<)╯┻━┻

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

int n,uplimit,ans,que[20],t;

void dfs(int m,int ld,int rd)

t++;

que[t]=v;

dfs(m+p,(ld+p)<<1,(rd+p)>>1);

t--;}}

else

return;

}}int main()

P1219 八皇后 含優化 1 5

檢查乙個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行 每列有且只有乙個,每條對角線 包括兩條主對角線的所有平行線 上至多有乙個棋子。上面的布局可以用序列2 4 6 1 3 5來描述,第i個數字表示在第i行的相應位置有乙個棋子,如下 行號 1 2 3 4 5 6 列號 2 4 6 1...

題解 P1219 八皇后

寫在前面 第一次認真寫題解qwq求讚 我初學dfs時遇到的第一題應該就是這道吧 本文面向初學者,說的較為詳細 側重於作者的做題過程 我相信很多人都會像我一樣去做 列舉每一行的皇后的位置即可 對角線的處理非常令人迷茫 一開始,我興奮地打了這樣乙個 用二維陣列vis標記一下能不能放不就好了嗎?看題解說的...

搜尋 P1219 八皇后

檢查乙個如下的6 x 6的跳棋棋盤,有六個棋子被放置在棋盤上,使得每行 每列有且只有乙個,每條對角線 包括兩條主對角線的所有平行線 上至多有乙個棋子。上面的布局可以用序列2 4 6 1 3 5來描述,第i個數字表示在第i行的相應位置有乙個棋子,如下 行號 1 2 3 4 5 6 列號 2 4 6 1...