一、Description

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

Input

第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。

Output

对输入的每组数据M和N,用一行输出相应的K。

二、题解
        这道题最重要的就是要找到突破口,这个突破口就是把所有的结果分为,有一个盘子为空和全部盘子都有苹果这两种情况。之后再递归求解子问题。
        f(m-n,n):每个盘子都有苹果

f(m,n-1):至少有一个盘子没有苹果

则,f[m][n] = f[m-n][n]+f[m][n-1]
        这里有详细题解和扩展http://www.cnblogs.com/celia01/archive/2012/02/19/2358673.html
三、Java代码

import java.util.Scanner; public class Main {public static int f(int a,int b){if(a<0)return 0;if(a==0||b==1)return 1;return f(a-b,b)+f(a,b-1);}public static void main(String[] args) { Scanner cin = new Scanner(System.in);int n=cin.nextInt();int a,b;for(int i=0;i<n;i++){a=cin.nextInt();b=cin.nextInt();System.out.println(f(a,b));}} }

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/AndyDai/p/4734182.html

POJ 1664 放苹果(递归或DP)相关推荐

  1. poj 1664 放苹果 DPDFS

    点击打开链接 把 M个同样的苹果放在 N个同样的盘子里,允许有的盘子空着不放 问共有多少种方法?5,1,1和1,5,1是同一种方法 解法一: poj 1664 放苹果 DP dp[i][j]表示共 i ...

  2. poj 1664 放苹果【M的N划分】

                                                   放苹果 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不 ...

  3. [ACM] POJ 1664 放苹果(n个相同小球放入m个相同盒子)

    放苹果 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25952   Accepted: 16509 Description ...

  4. POJ 1664 把苹果

     把苹果 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25785   Accepted: 16403 Descript ...

  5. POJ 1164 放苹果 经典的组合问题

    Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 ...

  6. c语言 10分苹果,POJ1664 放苹果 递归 C语言

    Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 ...

  7. 【POJ - 1664】放苹果 (递归经典题 或 dp 或 母函数)

    题干: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t ...

  8. POJ 1664 /NYOJ 758 放苹果问题(递归)

    分苹果 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 2 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? (注意:假如有3个盘子 ...

  9. poj1664:放苹果问题(递归)

    poj1664:放苹果:http://poj.org/problem?id=1664 咱们设苹果的个数为m个,盘子的个数为n个. 第一种情况: 如果苹果只有一个或者零个,即m=1或m=0,此时只有一种 ...

最新文章

  1. 收藏!美国博士明确给出Python的高效学习技巧
  2. springboot全局异常处理器
  3. 应该使用c# 预定义类型 还是绝对不要使用预定义类型。
  4. linux系统下cpu如何测试,Linux 系统下如何查看CPU个数
  5. Some Experience about userControls
  6. pytorch教程龙曲良41-45
  7. RMAN删除归档日志不释放问题
  8. wat java_并发工具优于wati、notify(69)
  9. 【Pytorch 】nn.functional.unfold()==>卷积操作中的提取kernel filter对应的滑动窗口
  10. Hibernate(十二):HQL查询(一)
  11. php面向对象开发技术 课本,PHP面向对象编程-高级技术书 - php
  12. 51 单片机学习_2.1 独立按键控制LED亮灭
  13. 雷军在金山的奋斗历程(我的金山我的青春)
  14. 确定有限状态自动机(deterministic finite automaton)DFA
  15. 详解百度地图API之驾车导航
  16. 【模型 6.0】以前的你遇事不知所措,现在的你可以镇定自若,靠它!
  17. 项目财务分析中的陷阱(3)(转)
  18. 新房装修步骤有哪些工序? 新房装修步骤要注意哪些问题?
  19. 为快乐工作而生的协同办公管理平台——IBOS!
  20. 如何快速开发一个响应式移动端页面

热门文章

  1. python 下采样和上采样
  2. HBase超级详细总结
  3. [USACO14OPEN]Odometer【数位DP】
  4. Java面试的基础题20190301
  5. SpringCloud_Eureka集群配置
  6. shell中日期操作
  7. 生命科学研究需求推动云计算发展
  8. 界面排版-TableLayout的stretchColumns方法
  9. ASP.NET2.0服务器控件之自定义状态管理
  10. 浏览器了解(四)javascript解析