算法第五章作业
一、对回溯法的理解
回溯法和暴力法其实是同理的,向着其中一条路无限走下去,直到尽头,再回头。把所有的路走完为止,然后找到解。在这个过程中,可以增加限制条件来减少路的数目,达到优化的效果。
二、子集和问题
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
void dfs(int num){ if(flag1){ return; } if(sum==c){ for(int i=1;i<num;i++){ if(flag[i]){ cout<<a[i]<<" "; } } flag1=1; return; }else if(sum>c){ return; }else{ if(num<=n){ sum+=a[num]; flag[num]=1; dfs(num+1); sum-=a[num]; flag[num]=0; dfs(num+1); } } return; } 第一题代码
三、结对编程情况
好,很好,非常好!