摘要: http://poj.org/problem?id=1321 dfsView Code 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 char mat[10][10]; 5 bool col[10];//col[i]=true表示第 i列有放 6 int n,k,solution=0; 7 int num;//当前放了几个 8 void initMat() 9 {10 memset(col,false,sizeof(col));11 solution=0;12 num=0;13 }14 阅读全文
posted @ 2012-04-05 22:09 keepmoving89 阅读(112) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2488 【DFS 】 一个p*q的棋盘,从一个点开始,骑士每次漫游都会在一个方向移动两个格子,并在垂直的方向移动一个格子。问题是,有没有这样一种漫游方法,每次骑士经过的地方都不同并且能够遍历整个棋盘?.要求 lexicographically first path,就是字典需最靠前的路径,这个就需要选择两个探测增量的时候考虑一下。先优先x后优先y,所以 int dx[]={-2,-2,-1,-1,1,1,2,2}; int dy[]={-1,1,-2,2,-2,2,-1,1};//保证路径按字典序,搜索时应自左向右,自上而下View Cod 阅读全文
posted @ 2012-04-05 18:08 keepmoving89 阅读(166) 评论(0) 推荐(0) 编辑