1 条题解

  • 0
    @ 2022-8-20 17:41:34
    #include <iostream>
    using namespace std;
    int n,k,cnt;
    void dfs(int step,int sum,int last){
    	if (step > k) return;
    	if (sum != n and step == k) return;
    	if (sum == n and step == k){
    		cnt++;
    		return;
    	}
    	for (int i = last;i<=n-sum;i++){
    		dfs(step+1,sum+i,i);
    	}
    	return;
    }
    int main(){
    	ios::sync_with_stdio(0);
    	cin >> n >> k;
    	dfs(0,0,1);
    	cout << cnt;
        return 0;
    }
    
    • 1

    信息

    ID
    2293
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    5
    已通过
    4
    上传者