记忆搜索之后反而错误了....

P1025 [NOIP2001 提高组] 数的划分

sorry....我坑了... 这个函数是个三维函数.....
by UrJack @ 2018-03-03 09:31:16


一个可行性剪枝搞定。 #include<bits/stdc++.h> using namespace std; int n,k; int ans=0; void dfs(int cnt,int last,int sum) { if((k-cnt+1)*last>n-sum) return ; for(int i=last;i<=n-sum;i++) { if(cnt==k) { ++ans; return ; } dfs(cnt+1,i,sum+i); } } int main() { scanf("%d%d",&n,&k); dfs(1,1,0); printf("%d",ans); return 0; }
by 丶Cyanide @ 2018-07-18 21:29:53


|