
回溯
qq_37357873
这个作者很懒,什么都没留下…
展开
-
回溯法-八皇后问题 vs. 枚举法-1~n的全排列
下面的两个题都用到了递归的思想: 将原问题分解,每次递归扩大解的规模,直到和原问题规模一致。 注意一开始都是给出了递归终止条件,解的规模和原问题一和原问题一样了,递归就是终止了 回溯法 当用递归对问题求解时,如果当前步骤没有合法选择,则递归函数返回到上一级调用中,这种现象称为回溯 八皇后问题 递归求第cur行的皇后应该放在哪一列 cur: 当前行 c[ i ]: 第i行的皇后放在第几列 tot: 解的个数 void search(int cur,int n) { if(cur==n) tot++;//递原创 2020-10-19 10:32:16 · 527 阅读 · 0 评论 -
dfs+回溯---存在问题:矩阵中的路径/拓扑排序
矩阵中的路径 vector<vector<int> > vis;//记录是否访问过 int dx[4]={0,0,-1,1}; int dy[4]={1,-1,0,0}; int ok=0; bool dfs(vector<vector<char> >& board,int r,int c,int m,int n,string word,int index) //index标记是第几个字符 { bool res; if(index原创 2020-11-05 17:33:11 · 455 阅读 · 0 评论