码迷,mamicode.com
首页 > 其他好文 > 详细

回溯法代码框架

时间:2016-11-26 20:55:39      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:子集   回溯   框架   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!