放鸡蛋问题
来源:互联网 发布:淘宝u站怎么加入 编辑:程序博客网 时间:2024/04/29 22:26
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
解题方法是利用递归,关键点是防止出现重复以及递归结束的条件
#include<iostream>using namespace std;int f(int egg,int bucket,int max){ if(bucket==0){//篮子为0代表结束放鸡蛋 if(egg==0)//鸡蛋恰好全部放完 return 1; return 0; } int anser; anser=0; int i; for(i=max;i>=0;i--) { anser+=f(egg-i,bucket-1,i); } return anser;}int main(){ int Testnum; int egg,bucket; cin>>Testnum; int ans; while(Testnum--){ ans=0; cin>>egg>>bucket; ans=f(egg,bucket,egg); cout<<ans<<endl;} return 0;}
- 放鸡蛋问题
- 放鸡蛋问题
- 淘宝面试题 放鸡蛋问题
- 放鸡蛋问题:相同元素分配到相同的空间
- JAVA [ 多线程 --- 放鸡蛋 ]
- sicily1002. 放鸡蛋
- 线程 放鸡蛋咯
- 蓝桥杯_格子放鸡蛋
- 关于N个鸡蛋放在M个篮子里等系列问题详解
- 一道关于放鸡蛋的算法
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 100层楼摔鸡蛋问题
- 楼层扔鸡蛋问题
- 扔鸡蛋问题
- 楼层扔鸡蛋问题
- 楼层扔鸡蛋问题
- 100层楼摔鸡蛋问题
- (work and tools)ubuntu更新后virtualbox无法启动
- 框架中的子页面实现整个页面跳转
- HTTP协议 (五) 代理
- bitblt函数的注意事项
- HTTP协议 (六) 状态码详解
- 放鸡蛋问题
- HTTP协议 (七) Cookie
- 浅析隐式转换
- 设计模式之适配器模式
- win7下安装Ubuntu双系统
- Python String和PyQt QString的区别(转载)
- STM8l 15x系列固件库及帮助文件下载地址
- Uva 11300 分金币(数学推导和中位数)
- 重建二叉树NYOJ221题 && NYOJ756题