m个苹果放入n个盘子问题

 

   动态规划太难辣             

https://www.cnblogs.com/wxgblogs/p/5742618.html   博客

https://www.nowcoder.com/practice/a2a1d0266629404fba582d416d84b6a0?tpId=61&&tqId=29533&rp=1&ru=/activity/oj&qru=/ta/pku-kaoyan/question-ranking 题目

 

 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 }

 

posted @ 2018-07-24 17:19  木流牛马  阅读(173)  评论(0编辑  收藏  举报