计蒜客--礼物盒问题

 

AC代码:

#include<stdio.h>
int a[36]={11,8,11,16,1,2,6,10,17,10,6,5,2,19,4,7,5,5,15,3,15,7,11,9,17,9,
4,10,12,17,19,20,11,10,20,3};
int max=0;
void dfs(int x,int k,int sum){
    if(sum<=100){
        if(max<k){
            max=k;
        }
    }
    
    for(int i=x+1;i<36;i++){
        if(sum>100) continue;
        dfs(i,k+1,sum+a[i]);
    }
    
}
int main(){
     for(int i=0;i<36;i++){
         dfs(i,1,a[i]);
     }
     printf("%d",max);
    return 0;
}
原文地址:https://www.cnblogs.com/pythonbigdata/p/8748284.html