提交时间:2023-08-24 09:39:20

运行 ID: 99867

#include<bits/stdc++.h> using namespace std; int t; int n; int m; int num=0; //vector<int> path; void dfs(int Min,int sum,int k) { if(k==m && sum==n) { num++; // for(int i=0;i<path.size();i++) // { // cout<<path[i]; // cout<<" "; // } // cout<<endl; return ; } if(k==m && sum!=n) { return ; } for(int i=Min;i<=n-sum;i++) { // path.push_back(i); dfs(i,sum+i,k+1); // path.pop_back(); } return ; } int main() { cin>>t; while(t>=1) { cin>>n; cin>>m; t--; num=0; dfs(0,0,0); cout<<num; cout<<endl; } return 0; }