八皇后问题总结
来源:互联网 发布:MAC玩网游 编辑:程序博客网 时间:2024/06/06 14:18
#include<iostream>#include<cmath>#include<vector>using namespace std;class Solution {public:vector<int> a;//vector<vector<string> > s_total;void init(int n){a.resize(n);for(int i=0;i<n;i++){a[i]=-1000;}}/*void print(int n){vector<string> s;for(int i=0;i<n;i++){string now_s="";for(int j=0;j<n;j++){if(a[i]==j){now_s=now_s+"Q";//cout<<"Q";}else{now_s=now_s+'.';//cout<<".";}}s.push_back(now_s);//cout<<now_s;//cout<<endl;}//cout<<endl;s_total.push_back(s);}*/int vaild(int row,int col){for(int i=0;i<a.size();i++){if(a[i]==col||abs(i-row)==abs(a[i]-col)){return 0;}}return 1;}int queue(int row){int n=0;int i=0;int j=0;while(i<row){while(j<row){if(vaild(i,j)==1){a[i]=j;j=0;break;}else{j++;}}if(a[i]==-1000){if(i==0) break;else{i--;j=a[i]+1;a[i]=-1000;continue;}}if(i==row-1){//cout<<"-------------------------------------"<<endl;n++;//print(row);j=a[i]+1;a[i]=-1000;continue;}i++;}return n;} int totalNQueens(int n) { int sum=0; if(n==0) { return 0; } else { init(n); sum=queue(n); return sum; } }};int main(){int n;cin>>n;Solution s1;s1.solveNQueens(n);return 0;}
0 0
- 八皇后问题总结
- 八皇后问题自我总结
- 八皇后 n皇后 问题
- 八皇后N皇后问题
- 201703问题记录总结----八皇后问题C语言解法
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题(2)
- 八皇后问题(3)
- 八皇后问题
- 八皇后问题程序
- 浅谈八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题
- 八皇后问题求解
- 限制输入框只能输入数字和小数点
- 【HDU 1012】【水题】u Calculate e
- 终止程序的方法
- Linux(CentOS 6.5) 上安装redis
- android错误之Unable to resolve target 'Google Inc.:Google APIs:6'
- 八皇后问题总结
- RecyclerView
- 开源后5个月,Google的深度学习都有哪些改变?
- 【HDU 2211】【水题】杀人游戏
- django的学习笔记
- 1004 Toxophily
- 自考那些事儿:计算机网络原理(原理篇)之网络各层
- c++学习(一) 数据类型
- 关于 BFS 中 打印路径的问题