Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99870 | 梁晨熙 | 放苹果 | C++ | 通过 | 100 | 2 MS | 260 KB | 425 | 2023-08-24 09:45:54 |
#include<bits/stdc++.h> using namespace std; int t; int n,m; int ans; int a[100001]; void dfs(int step,int sum,int minn){ if(sum==n&&step>m){ ans++; return; } if(sum>=n||step>m){ return; } for(int i=minn;i<=n;i++){ a[step]=i; dfs(step+1,sum+i,max(minn,i)); a[step]=0; } } int main(){ cin>>t; while(t--){ ans=0; cin>>n>>m; dfs(1,0,0); cout<<ans<<endl; } return 0; }