标签:
1 void DFS(int n,int sum) 2 { 3 for(int i=0;i<n;i++) 4 { 5 if(mark) 6 return ; 7 if(!visited[i]) // 如果该数字 没有被使用过的话 8 { 9 visited[i]=1; 10 maxn=maxn+a[i]; 11 if(maxn==sum) 12 { 13 mark=1; 14 break; 15 } 16 DFS(n,sum); 17 maxn=maxn-a[i]; 18 visited[i]=0; 19 } 20 } 21 }
1 bool DFS(int i,int m) 2 { 3 if(i==n) 4 return sum==m; 5 else 6 if(sum<m) 7 return false; 8 if(DFS(i+1,m)) 9 return true; 10 if(DFS(i+1,a[i]+m)) 11 return true; 12 return false; 13 }
标签:
原文地址:http://www.cnblogs.com/A-FM/p/5355131.html