1 条题解

  • 0
    @ 2023-3-30 20:30:14

    剪枝优化最简单的一集。

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,ans=0;
    void dfs(int cnt,int i,int sum){
    	if(cnt==m){
    		if(n-sum>=i) ans++;
    		return;
    	}
    	int c=(n-sum)/(m-cnt+1);
    	for(int j=i;j<=c;j++){
    		dfs(cnt+1,j,sum+j);
    	}
    	return;
    }
    int main(){
    	cin>>n>>m;
    	dfs(1,1,0);
    	cout<<ans;
    }
    

    😕

    • 1

    信息

    ID
    488
    时间
    1000ms
    内存
    512MiB
    难度
    3
    标签
    递交数
    25
    已通过
    18
    上传者