您的位置:首页 > 产品设计 > UI/UE

LeetCode--N-Queens II

2014-09-04 21:07 267 查看
dfs

class Solution {
public:
int res;
int totalNQueens(int n) {
res = 0;
vector<int> arr(n);
dfs(arr,0,n);
return res;
}
void dfs(vector<int> &arr,int index,int N){
for(int i = 0 ; i < N ; ++i){
arr[index] = i;
if(isOk(arr,index)){
if(index == N-1){
res++;
}
else{
dfs(arr,index+1,N);
}
}
}
}
bool isOk(const vector<int> &arr,int index){
for(int i = 0 ; i < index ; ++i){
if(arr[i] == arr[index] || abs(i-index)==abs(arr[i]-arr[index])){
return false;
}
}
return true;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: