7-22 n queens (10分) 八皇后(n皇后)問題
7-22 n queens (10分)
there is a chess board with n rows and n columns, you need place n queens in the board,there are no two queens in the same line(include diagonals).
input specification:
input one integer n denotes n queens .
output specification:
place one solution in one line(for example,in the 4 queens,one solution is 2 4 1 3,that means the first row queen will be placed in the 2nd column,the 2nd row queen will be placed in the 4th column,and so on),and output the total solution number in the last line.
input example:
4
output example:
2 4 1 3
3 1 4 2
2
#include<bits/stdc++.h>
using namespace std;
int c[20], n, ok, ccount = 0;
void print()
{
for(int i = 0; i <= n; i++){
if(i != n) cout << c[i] + 1 << " ";
else cout << endl;
}
}
void dfs(int r)
{
if(r == n){
print();
ccount++;
return ;
}
else{
for(int i = 0; i < n; i++){
c[r] = i;
ok = 1;
for(int j = 0; j < r; j++){
if(c[r] - c[j] == r - j || c[r] - c[j] == j - r || c[r] == c[j]){
ok = 0;
break;
}
}
if(ok) dfs(r + 1);
}
}
}
int main()
{
cin >> n;
dfs(0);
cout << ccount;
return 0;
}
相關文章
- Leetcode每日一題:52.N-Queens II(N皇后Ⅱ)LeetCode每日一題
- N皇后問題
- N皇后和N皇后2
- N 皇后
- 回溯法(排列樹)解決八(N)皇后問題
- HDU - 2553 N皇后問題(DFS)
- 51,N皇后
- 2020-11-18 N皇后問題
- N皇后問題(各種優化)優化
- 20241201: 51. N 皇后
- 藍橋杯-N皇后
- 52. N皇后 II
- LeetCode 52. N皇后 IILeetCode
- 演算法:N皇后二演算法
- 洛谷八皇后問題
- 八皇后問題python解法Python
- n皇后問題--回溯法,以DFS的方式搜尋
- leetcode演算法題解(Java版)-9-N皇后問題LeetCode演算法Java
- 八皇后問題分析和實現
- python八皇后Python
- 從八皇后問題到回溯演算法演算法
- 八皇后問題的錯誤程式碼示範
- Leetcode 通過率最高的困難題 N皇后 II 【回溯解法-剪枝】LeetCode
- 八皇后||演算法演算法
- [Hdfs] lc52. N皇后 II(dfs方案數+經典)
- 1128 N Queens Puzzle (20分)
- P1219 八皇后(dfs)
- 每日一題之拉低通過率 回溯演算法 leetcode 51 N皇后每日一題演算法LeetCode
- 洛谷 P1219 八皇后
- Python 八皇后解法(非遞迴版本)Python遞迴
- YCOJN皇后
- 演算法學習回顧-皇后問題演算法
- 【一天一大 lee】N皇后 II (難度:困難) - Day20201017
- 回溯演算法 | 追憶那些年曾難倒我們的八皇后問題演算法
- 資料結構和演算法——遞迴-八皇后問題(回溯演算法)資料結構演算法遞迴
- P10871 皇后 Kraljice 題解
- [20210626]find -mtime +N N -N時間問題補充.txt
- [20210625]find -mtime +N N -N時間問題補充.txt