backtracking solves 8 queen by C++. Visualize the solving process by own C++/openCV program. Base on my C++ code solving Leetcode 51. N-Queens. There are exact 92 solutions for 8 queens. Some of them will be shown.
---------
用C++回溯解決8后問題。 將自己的C++/openCV解答視覺化展示求解過程。
基於本人的 C++ 程式碼解 Leetcode 51. N-Queens擴充實作。 8 后有 92 個解,限於秒數僅一些被展示。當中所顯示的位置(row, col)為矩陣足碼非座標。
解法的要訣,就是當某queen在(i, j)時,i-th row, j-th col 兩條線i+j=row+col與 i-j=row-col就不能有其他的皇后,逐col去試,不行就回遡,這可簡化成三個檢查式。
以下為為回遡+BitMask的解法。
[還有其他解法的code]https://leetcode.com/problems/n-queens/solutions/3713298/c-recursive-backtracking-bool-vector-vs-bitmask-beasts-100/
[LeetCode程式]https://www.youtube.com/watch?v=7g-E3d_Oja4&list=PLYRlUBnWnd5IdDHk2BjqXwesydU17z_xk&index=1
沒有留言:
張貼留言