m个苹果放入n个盘子问题
动态规划太难辣
https://www.cnblogs.com/wxgblogs/p/5742618.html 博客
1 int n,m,dp[30][30]; 2 3 int main() 4 { 5 while(cin>>m>>n) 6 { 7 for(int i=0;i<=m;i++){ 8 dp[i][0]=0; //放i个苹果在0个盘子上 情况为0; 9 } 10 for(int i=1;i<=n;i++){ 11 dp[0][i]=1; //放0个苹果在i个盘子上,情况为 1种; 12 } 13 for(int i=1;i<=m;i++) 14 { 15 for(int j=1;j<=n;j++) 16 { 17 if(i<j) //苹果数量小于盘子数量 18 dp[i][j]=dp[i][i]; 19 else 20 dp[i][j]=dp[i-j][j]+dp[i][j-1]; 21 } 22 } 23 cout<<dp[m][n]<<endl; 24 } 25 }