八皇后問題的錯誤程式碼示範
#include<cmath>
#include<algorithm>
#include<cstdio>
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
typedef long long ll;
using namespace std;
int l[14] = { 0 }, r[14] = { 0 }, d1[29] = {0}, d2[29] = { 0 };
int a[14], b[14],n,ans=0;
void dfs(int step) {
if (step > n) {
ans++;
if (ans <= 3) {
for (int i = 1; i <= n; i++)
cout << a[i] << " ";
cout << endl;
}return;
}
for(int i=1;i<=n;i++)
for (int j = 1; j <= n; j++)
{
if ((!l[i]) && (!r[j]) && (!d1[i + j]) && (!d2[n + j - i]))
{
l[i] = 1; r[j] = 1; d1[i + j] = 1; d2[n + j - i] = 1; a[step] = j;
dfs(step + 1);
l[i] = 0; r[j] = 0; d1[i + j] = 0; d2[n + j - i] = 0;//八皇后問題,執行第一個答案後,跳到第五行,但是還以為是第四步,這樣就亂套了
}
}
}
int main() {
cin >> n;
dfs(1);
cout << ans;
}pp
在這裡插入程式碼片
相關文章
- js解八皇后問題程式碼例項JS
- 洛谷八皇后問題
- 八皇后問題python解法Python
- 八皇后問題自我總結
- js使用遞迴回溯法解八皇后問題程式碼分享JS遞迴
- 八皇后問題分析和實現
- 從八皇后問題到回溯演算法演算法
- 回溯法(排列樹)解決八(N)皇后問題
- 經典n皇后問題java程式碼實現Java
- N皇后問題
- 轉:八皇后問題 java實現,演算法兩則Java演算法
- 原:八皇后問題的遞迴和非遞迴Java實現遞迴Java
- python八皇后Python
- 微信支付錯誤兩個問題的解決:curl出錯,錯誤碼:60
- 八皇后||演算法演算法
- CodeBlocks偵錯程式設定錯誤問題BloC
- C++程式設計易範的錯誤C++程式設計
- 回溯演算法 | 追憶那些年曾難倒我們的八皇后問題演算法
- 【演算法】8皇后問題演算法
- RDSforMySQL許可權問題(錯誤程式碼:1227,1725)ORMMySql
- C++程式設計易範的錯誤 (轉)C++程式設計
- mysql的時區錯誤問題MySql
- Auth::logoutOtherDevices 導致密碼錯誤問題Godev密碼
- 解決python中文編碼錯誤問題Python
- 幽默:除錯程式碼問題的最佳方法除錯
- 錯誤程式碼的設計!
- N皇后問題(各種優化)優化
- MySQL 錯誤程式碼MySql
- Windows 錯誤程式碼Windows
- HTTP錯誤程式碼HTTP
- WSA 錯誤程式碼
- 資料結構和演算法——遞迴-八皇后問題(回溯演算法)資料結構演算法遞迴
- 八皇后之回溯法解決
- 八數碼 經典問題
- 錯誤程式碼的個人見解以及邏輯分析題
- 解決 ngrok 的 Domain 錯誤問題AI
- Visual Studio 2022 Typescript 程式碼錯誤提示故障問題TypeScript
- 國際象棋“皇后”問題的回溯演算法演算法