问题描述:
某人用了dp方法写,但我不会0.0 我好菜啊,留下来保存下,我的是dfs方法,剪枝后速度还是很快的。
#include<stdio.h>
#define N 52
int dig[52];
int count = 0;
void dfs(int sum,int pos){
if(sum==24){
count++;
return;
}else if(sum>24)return;
for(int i = pos;i<N;i++){
dfs(sum+dig[i],i+1);
}
}
int main(){
for(int i = 1;i<=N;i++)
dig[i-1] = (i-1)%13+1;
dfs(0,0);
printf("%d",count);
return 0;
}