NYIST分苹果
来源:互联网 发布:nginx多ip域名绑定 编辑:程序博客网 时间:2024/04/29 08:34
这道题第一次我也没有做出来,不过重在学习吧,我把自己学习这道题的想法写一下。
这道题用到了递推和递归,怎么样分苹果是个难点,要按情况跟来分,如果按一遍一遍的模拟就会越分越乱。下面代码已经给出了每一步的解释。
#include<stdio.h>int play(int m,int n){ if(m==1||n==1) //当只有一个苹果或一个盘子时就剩下一种办法 return 1; if(m<n) //如果盘子多,苹果少,按苹果数进行分配 return play(m,m); else if(m>n) //当苹果大于盘子的时候,按空一个盘和每个盘子都放一个开始递归 return play(m,n-1)+play(m-n,n); else return 1+play(m,n-1);//当盘子数和苹果个数一样多时,每个盘子放一个是一种,加上空一个盘子}int main(){ int t,m,n,ans; scanf("%d",&t); while(t--) { scanf("%d%d",&m,&n); ans=play(m,n); printf("%d\n",ans); }}
- NYIST分苹果
- nyist 苹果 01背包
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- 分苹果
- java与mysql数据类型对应一览表
- Objective-C runtime之消息(一)
- java的考证!
- 个人对java的看法!
- 不可小觑的Web开发编码规范
- NYIST分苹果
- Objective-C runtime之消息(二)
- java的个人总结!
- STL—map之总结
- Objective-C runtime之消息转发机制(三)
- [siggraph13]《巫师3》角色渲染
- html + javascript 自学笔记
- java的认证!
- 手机支付宝的充值与转账功能