在棋盤上放置障礙物,使得同列、同欄、同對角線的皇后不會互相攻擊
例如:
在座標(3,f)和(4,h)放上障礙物
如此一來(3,e)和(3,h)不會打架,(3,h)和(5,h)也不會打架
Input是 1.放置了障礙物的棋盤,如圖
2.要擺到棋盤上的皇后的數量(大於等於1,當然也可能大於8)
若有解,則將其中一種解的棋盤印出
=====================================================================
一般的八皇后我是用backtracking解
我直接把我在LeetCode的解法貼上(因為是LeetCode,所以有用Solution包起來)
https://codeshare.io/29jRPM
我的解法中的第15行的迴圈是跑每列中可以擺放的欄
列放上旗子後,就進入下一列(第18行)
但可以放上障礙物的八皇后問題,變成在同一列上有可能放多個棋子
因此放上棋子後,似乎不能馬上進入下一列,所以我這解法似乎就失敗了
不知到各位有沒有甚麼想法可以指點
謝謝