void dfs(int kind,int depth,int sum){
if(n-sum>(r-depth+1)*a[kind] and kind!=0)return ;
if(sum>=n){
total+=scheme[m-kind][r-depth];
return ;
}
for(;kind<=m-(r-depth);kind++)dfs(kind+1,depth+1,sum+a[kind+1]);
return ;
}
(其中scheme二维数组中的数据计算方法是正确的,我应用相同的代码在P1164 小A点菜里AC了)
计算最后的数据的时候老是WA,给出155100533的错误答案(正确的是155104586),崩溃,为什么会这样?
所以我崩溃到最后一个数据点打表
不要问我为什么不用DP,我不会