标签:splay 正是 img 问题 open 技术 返回 closed dfs
回溯法是初学者学习暴力法的第一个障碍,所谓回溯就是指当把问题分成若干步骤并递归求解时,如果当前步骤没有合法选择,则函数将返回上一级递归调用,这种现象称为回溯。正是因为这个原因,递归枚举算法常被称为回溯法,应用十分普遍。
八皇后问题
1 int tot=0; 2 int c[maxn]; //c[x]表示x行所在的列数 3 void dfs(int n,int cur){ 4 if(cur==n) ++tot; 5 for(int i=0;i<n;i++){ 6 int flag=0; 7 c[cur]=i; 8 for(int j=0;j<cur;j++) 9 if(c[cur]==c[j]||(cur-c[cur]==j-c[j])||(cur+c[cur]==j+c[j])){ 10 flag=1; break; 11 } 12 if(!flag) 13 dfs(n,cur+1); 14 } 15 }
标签:splay 正是 img 问题 open 技术 返回 closed dfs
原文地址:http://www.cnblogs.com/wolf940509/p/6693963.html