标签:子集 回溯 框架 span ++ code nbsp back else
子集树:
void backtrack(int t){ if(t > n) output(x); else{ for(int i = f(n,t); i <= g(n,t);i++){ x[t] = h(i); if(constraint(t) && bound(t)) backtrack(t+1); } } }
排列树:
void backtrack(int t){ if(t > n) output(x); else{ for(int i = f(n,t); i <= g(n,t);i++){ swap(x[t],x[i]); if(constraint(t) && bound(t)) backtrack(t+1); swap(x[t],x[i]); } } }
标签:子集 回溯 框架 span ++ code nbsp back else
原文地址:http://www.cnblogs.com/jacklovelol/p/6105028.html