题解
放苹果
1 条题解
-
0
#include <stdio.h> int m,n; int cnt=0; void dfs(int plate,int apple,int last) //当前盘子编号,当前已放的苹果总数,当前需最少放置的苹果数 { int i; if(plate==n && apple==m) //盘子数=n,苹果数=m,找到一组解 { cnt++; return; } if(plate==n || apple>m) //盘子数=n,苹果数>m,无解 return; for(i=last;i<=m;i++) dfs(plate+1,apple+i,i); } int main() { int t; scanf("%d",&t); while(t--) { cnt=0; scanf("%d%d",&m,&n); dfs(0,0,0); printf("%d\n",cnt); } return 0; }
- 1