Leetcode---N-Queens II
2015-04-11 17:18
260 查看
N皇后问题,求数量,比记录轨迹简单。
int N; int sum; vector<vector<int> > m; bool check(int row,int column){ if(row==1) return true; int i,j; for(i=0;i<=row-2;i++){ if(m[i][column-1]==1) return false; } i = row-2; j = i-(row-column); while(i>=0&&j>=0){ if(m[i][j]==1) return false; i--; j--; } i = row-2; j = row+column-i-2; while(i>=0&&j<=N-1){ if(m[i][j]==1) return false; i--; j++; } return true; } void dfs(int level){ if(level==N){ sum++; } else{ for(int i=0;i<N;i++){ if(check(level+1,i+1)){ m[level][i]=1; dfs(level+1); m[level][i]=0; } } } } int totalNQueens(int n) { N=n; sum=0; for(int i=0;i<n;i++){ vector<int> a(n,0); m.push_back(a); } dfs(0); return sum; }
相关文章推荐
- [Leetcode] 52. N-Queens II
- LeetCode——N-Queens II
- N-Queens II -- LeetCode
- LeetCode-52. N-Queens II (JAVA)(N皇后解集个数)
- leetcode---N-Queens II
- LeetCode 52. N-Queens II
- LeetCode N-Queens II
- [LEETCODE]52. N-Queens II
- LeetCode 052 N-Queens II
- leetcode N-Queens/N-Queens II, backtracking, hdu 2553 count N-Queens, dfs
- [LeetCode] N-Queens II
- leetcode 052 —— N-Queens II
- [LeetCode] N-Queens II
- LeetCode 51 - N-Queens II
- [leetcode 20] N-Queens II
- LeetCode52. N-Queens II
- leetcode-52-N-Queens II
- [leetcode] N-Queens II
- LeetCode: N-Queens II [051]
- Leetcode-N-Queens II