9714 圣诞礼物
来源:互联网 发布:java考试题库 编辑:程序博客网 时间:2024/04/29 14:37
9714 圣诞礼物
时间限制:1000MS 内存限制:1000K
题型:编程题 语言:无限制
Description
圣诞节到了,圣诞老人给 N个小朋友准备了 M 个同样的礼物。每个小朋友有一个袜子(袜子不编号,无区别,认为袜子都相同),
圣诞老人将 M 个礼物装到 N 个袜子中的放法有多少种?
注意:
1)若M=7 N=3,那么5,1,1的放法和1,5,1的放法算是同一种装法。
2)允许袜子为空。
3)M和N无大小关系,M可以比N大,M也可以比N小。
Input
输入数据包含两个整数 M,N。1<=M,N<=50。
M在前,N在后,中间空格。
Output
输出共有几种不同的放法。
Sample Input
7 3
Sample Output
8
Hint
上课讲解了此题的两种解法.
解法一:按书上算法求"对正整数n进行划分,最大加数不超过m的划分个数",因为此题"对正整数n进行划分,不超过m项的划分个数"与之是相等的.
解法二:设d[i][j]表示i划分为j份,视为i个球放入j个盒子的方法数。盒子是无差别的。有如下递推关系:
(1)j个盒子有空的,d[i][j] = d[i][j-1],把某一空盒子拿出来放一边;
(2)j个盒子都不空,d[i][j] = d[i-j][j],每个盒子扣掉1个球;
(3)d[i][0]=0,i>=1; d[i][1]=1,i>=1; d[0][j]=1, j>=1
因此:d[i][j] = d[i][j-1]+ d[i-j][j]。 n划分为m份的划分数为d[n][m]。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
源代码下载:http://download.csdn.net/detail/seanxu2012/5033710
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 9714 圣诞礼物
- scau 9714 圣诞礼物
- 圣诞礼物
- 圣诞礼物
- 交换圣诞礼物
- 圣诞的礼物
- 圣诞礼物的含义
- 圣诞礼物算法简单描述
- 动手制作高科技圣诞礼物
- 圣诞的礼物(二)051225
- 圣诞的礼物(一)051225
- 团队游戏——交换圣诞礼物
- 十大最难抢购的圣诞礼物2014版
- Polyes Q1--来自美国的圣诞礼物
- 圣诞 元旦飘雪 飘礼物代码
- 奇葩圣诞礼物idea合辑
- 圣诞节礼物之——圣诞美好时光桌面主题
- iPhone,Xbox双双落选“美国人最想要的圣诞礼物”
- 函数指针(回调函数)
- ubuntu12.04下安装JDK7
- WinCE中串口通讯的调试方法----串口分离软件的使用
- 根据classid值查找该dll或者ocx控件
- Prolog 最长公共子序列 LCS 问题
- 9714 圣诞礼物
- [LeetCode] Add Binary
- 9718 整数因子分解
- 计算a[0]*a[1]*...*a[n-1]/a[i]
- 8086汇编语言的DEBUG命令
- 总结下Oracle 中的Insert用法
- 用MDK生成bin文件的步骤及方法
- Errors running builder 'Android Pre Compiler' on project
- Hibernate继承映射