【leetcode】N-Queens II
2013-10-04 00:10
309 查看
class Solution { public: int count; bool visited[1000];//visited[k]表示第visited[k]列已经放置过Queue了,不可再用 int col[1000];//col[0]表示第0行中,第col[0]列中放置了一个Queue bool canPlace(int i,int j) { for(int k=0;k<i;k++) { if(abs(k-i)==abs(col[k]-j))//(k,col[k])与(i,j)不能呈45度或135度角 return false; } return true; } void dfs(int level,int n) { if(level==n) { count++; return; } for(int k=0;k<n;k++)//从0到n-1枚举列 { if((visited[k]==false)&&canPlace(level,k)) //该列没放过Queue,且对角线上也没有过Queue,又因为level代表行,所以该行之前也未有过Queue { visited[k]=true; col[level]=k; dfs(level+1,n); visited[k]=false; } } } int totalNQueens(int n) { // Note: The Solution object is instantiated only once and is reused by each test case. count=0; memset(visited,false,sizeof(visited)); dfs(0,n); return count; } };
相关文章推荐
- arduino
- CSS Media Query
- Ubuntu下配置QEMU出错:ERROR: glib-2.12 required to compile QEMU
- 设计模式之建造者模式(Builder)
- xcode 环境变量 Build Settings参数 workspace 联编设置
- CEGUI 0.8.2编译教程
- 理解 Android Build 系统
- xe5 android listbox的 TMetropolisUIListBoxItem
- poj3061 Subsequence 尺取法
- poj 1986 Distance Queries
- NameValueCollection详解
- [MAC] How to resolve VOSM(ASM/AAM) circular dependency issue under Mac Xcode
- 【leetcode】N-Queens
- JAVA(UI)笔记
- qt,ui,QUiLoader
- Problem D - Non-boring sequences——Contest1004 - National Day Training Contest -- Day3
- 程序员的emacs配置大全(cedet+ecb+cscope+gdb-ui)-jzj
- ScrollView滑动图片监听UIPageControl
- Key/Value存储引擎——Bitcask的Java实现
- 多线程编程 - NSOperationQueue