1.由於是要在n*n的棋盤放n個皇后,所以可知每個row必有一個皇后,
那我們只需知道每個row的皇后可放在哪個位置,然後遞迴到第n+1之
後輸出就行了
2.對角線判斷
可以用x+y 與x-y+n來表示(+n是為了避免負數)
3.二進制優化
0代表有皇后,1代表沒皇后,可以用三個陣列來判斷是否能放皇后
初始化為每一位都是1
ty代表該column是否已被皇后佔據
ta tb代表兩個對角線是否被皇后佔據
如果都是1那就能放
4.要快速判斷放在哪個column有機會可以用x&-x來得出,假如x能放那放的位置就會是log2(x)+1