九度1160解题报告
2014-03-15 16:32
204 查看
http://ac.jobdu.com/problem.php?pid=1160
一眼一看就知道是dp,但是苦于找不到状态转移。网上看到了递推关系,其实很简单:对于m个苹果,n个盘子的摆法,可以分为有空盘和无空盘两类,有空盘类,就是在m,n-1的所有摆法中加入一个空盘,而无空盘类,就是先拿出n个苹果每个盘各摆一个,在分配剩下的苹果。当然,要注意m<n时,n-m个盘子有和没有是没区别的,因为永远用不上。代码如下:
一眼一看就知道是dp,但是苦于找不到状态转移。网上看到了递推关系,其实很简单:对于m个苹果,n个盘子的摆法,可以分为有空盘和无空盘两类,有空盘类,就是在m,n-1的所有摆法中加入一个空盘,而无空盘类,就是先拿出n个苹果每个盘各摆一个,在分配剩下的苹果。当然,要注意m<n时,n-m个盘子有和没有是没区别的,因为永远用不上。代码如下:
#include <stdio.h> int dp(int m, int n) { if (m==0||n==1) return 1; if (m<n) return dp(m,m); else return dp(m,n-1)+dp(m-n,n); } int main() { int m,n,t; scanf("%d",&t); for (int i=0;i<t;++i) { scanf("%d %d",&m,&n); printf("%d\n",dp(m,n)); } return 0; }
相关文章推荐
- 【九度OJ】题目1153:括号匹配问题 解题报告
- 【九度OJ】题目1047:素数判定 解题报告
- 【九度OJ】题目1182:统计单词 解题报告
- 【九度OJ】题目1192:回文字符串 解题报告
- 九度1347解题报告
- 【九度】2014年王道论坛研究生机试练习赛第三场解题报告
- 【九度OJ】题目1202:排序 解题报告
- 【九度OJ】题目1078:二叉树遍历 解题报告
- 【九度OJ】题目1138:进制转换 解题报告
- 【九度OJ】题目1442:A sequence of numbers 解题报告
- 【九度OJ】题目1193:矩阵转置 解题报告
- 九度1080解题报告
- 九度1172解题报告
- 九度1086解题报告
- 九度OJ1442:A sequence of numbers 解题报告
- 【九度OJ】题目1061:成绩排序 解题报告
- 【九度OJ】题目1065:输出梯形 解题报告
- 【九度OJ】题目1028:继续畅通工程 解题报告
- 【九度OJ】题目1169:比较奇偶数个数 解题报告
- 【九度OJ】题目1185:特殊排序 解题报告