Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
7643 | admin | 数的划分 | C++ | 通过 | 100 | 463 MS | 268 KB | 458 | 2025-03-19 20:12:17 |
#include <bits/stdc++.h> using namespace std; int ans,n,k; void dfs(int x,int step,int sum){ if (step==k+1){ //分的份数足够了 if (sum==n){ //和也对了 ans++; //将答案加一 } return ; } for (int i=x;i+sum<=n;i++){ dfs(i,step+1,i+sum); //每次都将份数加一,且将现在的和更新 } } int main(){ cin>>n>>k; dfs(1,1,0); cout<<ans; return 0; }