为什么用了700多ms。
查看原帖
为什么用了700多ms。
403708
Xerox_Factor楼主2021/8/24 15:27
#include<cstdio>
using namespace std;
int n,k; 
int ans;
int a[10032]={1};
void dfs(int x,int y){
	if(y>k)return;
	for(register int i=a[y-1];i<=x;i++){
			a[y]=i;
			x-=i;
			if(x==0&&y==k)
				ans++;
			else dfs(x,y+1);
			x+=i; 
	}
}
int main(){
	scanf("%d%d",&n,&k);
	dfs(n,1);
	printf("%d",ans);
	return 0;
}
2021/8/24 15:27
加载中...