博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1664 放苹果(递推,记忆化搜索)简单题
阅读量:4035 次
发布时间:2019-05-24

本文共 677 字,大约阅读时间需要 2 分钟。

1、

这道题目说起来也很简单,乍一看还真没思路,之前做过的居然看着别人分的类是动态规划,居然还写了老半天状态转移方程,真是弱爆了,要不是看以前的解题报告,还真当动态规划做到天黑了,纠结。。。。

这道题目递推关系有三种情况

1、如果m==1 或者n==1只有一种方案,也要注意当m==0的时候也是一种

2、if(m>n)说明苹果多,盘子少,那么分两种情况,一种是至少有一个盘子是空的,f(m,n-1),另一种就是先给n个盘子每个盘子一个苹果,其余的再讨论f(m-n,n)

3、if(m<n)说明苹果数比盘子少,那么最多就用m个苹果,f(m,m)

2、题目:

放苹果
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 24725   Accepted: 15732

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。

Sample Input

17 3

Sample Output

8

Source

3、AC代码:

#include
int f(int m,int n){ if(m==1 || n==1 || m==0) return 1; else if(m

 

转载地址:http://iwcdi.baihongyu.com/

你可能感兴趣的文章
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
从头开始学习JSP(3)——一些配置
查看>>
html常用标签快速检索
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
通过/proc/PID/status查看进程内存占用情况
查看>>
/proc文件系统读出来的数据是最新的吗?
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
python单元测试unittest学习
查看>>
Errors running builder 'Validation' on project 'jumi_3.0'
查看>>
SpringMVC学习笔记
查看>>