函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事
题目:一只小蜜蜂
递归做法:
#include<cstdio>
#include<iostream>
#include<stdlib.h>
#include<stack>
#include<string>
using namespace std;
int cnt=0;//count
int a,b;
//int flag=0;
int tran[3]={1,2};//坐标移动
void done(int x)
{
int begin=0,bet=0;
begin=x;
if(begin>b)return ;//越界
if(begin==b)
{
//cout<<"1"<<endl;
cnt++;
return ;
}//到达终点
else
{
for(int i=0;i<2;i++)
{
bet=begin+tran[i];//移动位置
done(bet);
//cout<<"2"<<endl;
}
}
return ;
}
int main()
{
int n;
int i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d%d",&a,&b);
done(a);
printf("%d\n",cnt);
cnt=0;
flag=0;
}
return 0;
}
一题递归类型的题目,比较简单。我犯了两个粗心的错误,一个是终点判断使用了a,还有一个是main函数里面的输入格式写错了...也感谢兴桔的讲解。
贴上兴桔ppt的一部分,和函数递归的模板和深度优先搜索有关系。

这题是规律题,用平常的递归会T,规律能看出符合斐波那契数列,所以这里给出它的做法。
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
long long int f[55];
f[1]=1;
f[2]=2;
for(int i=3;i<55;i++)
{
f[i]=f[i-1]+f[i-2];
}
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
printf("%lld\n",f[m-n]);
}
}
参考博客:杭电2044一只小蜜蜂
博主的公告也很有意思:“屌丝分为两种,一种是没有梦想,浑噩一生的屌丝,另一种是怀揣着梦想,奋斗一生的屌丝。”
题目:母牛的故事
代码:
#include<cstdio>
#include<iostream>
#include<stdlib.h>
using namespace std;
int done(int x)
{
int c;
if(x<=3) c=x;
else c=done(x-1)+done(x-3);
return c;
}
int main()
{
int n;
int tot=0;
while(scanf("%d",&n)!=EOF)
{
if(n==0)break;
tot=done(n);
printf("%d\n",tot);
tot=0;
}
return 0;
}
解释一下递归的语句:
int done(int x)
{
int c;
if(x<=3) c=x;
else c=done(x-1)+done(x-3);
return c;
}
从第n年开始往回找到第一年,前3年牛的数目是按+1的规律来递增的,当年数大于3的时候,母牛的数目等于去年的母牛数目+今年生产的母牛数,今年生产的母牛数由题意(小牛过三年能生育)等于三年前的总牛数,过了三年以后当时的牛都能生。
函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事的更多相关文章
- Go: LeetCode简单题,简单做(sort.Search)
前言 正值端午佳节,LeetCode也很懂.这两天都是简单题,早点做完去包粽子. 故事从一道简单题说起 第一个错误的版本 简单题 你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最 ...
- python06-列表表达式、生成器表达式及其面试题、解耦简单介绍、函数递归相关
目录: 一.列表推导式 二.生成器表达式 三.集合生成器 四.生成器面试题 五.解耦简单介绍 六.函数递归相关 一.列表推导式 需求:将[1,3,5]中的每个元素平方 正常思路: new_list = ...
- Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列)
Python进阶(七)----带参数的装饰器,多个装饰器修饰同一个函数和递归简单案例(斐波那契数列) 一丶带参数的装饰器 def wrapper_out(pt): def wrapper(func): ...
- P6222 「简单题」加强版 莫比乌斯反演 线性筛积性函数
LINK:简单题 以前写过弱化版的 不过那个实现过于垃圾 少预处理了一个东西. 这里写一个实现比较精细了. 最后可推出式子:\(\sum_{T=1}^nsum(\frac{n}{T})\sum_{x| ...
- 牛客网 牛客小白月赛1 A.简单题-控制输出格式setiosflags()函数+setprecision()函数
水一水博客,都不好意思写这篇博客,毕竟已经不是大一的了. 难得能把一整套题都写出来(日常智障).但是在这里不写G题あなたの蛙は旅⽴っています的题解. 有毒,G题关了流同步只能过94%的样例,说我运行超 ...
- DFS回溯-函数递归-xiaoz triangles
题目:小z 的三角形 ★实验任务 三角形的第1 行有n 个由"+"和"-"组成的符号,以后每行符 号比上行少1 个,2 个同号下面是"+", ...
- python基础-基础知识(包括:函数递归等知识)
老男孩 Python 基础知识练习(三) 1.列举布尔值为 False 的值空,None,0, False, ", [], {}, () 2.写函数:根据范围获取其中 3 和 7 整除的所有 ...
- 递归一题总结(OJ P1117倒牛奶)
题目: 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数,最初,A和B桶都是空的,而C桶是装满牛奶的.有时,约翰把牛奶从一个桶倒到另 ...
- 【BZOJ-1176&2683】Mokia&简单题 CDQ分治
1176: [Balkan2007]Mokia Time Limit: 30 Sec Memory Limit: 162 MBSubmit: 1854 Solved: 821[Submit][St ...
随机推荐
- Python一键安装全部依赖包
requirements.txt用来记录项目所有的依赖包和版本号,只需要一个简单的pip命令就能完成. pip freeze >requirements.txt 然后就可以用 pip insta ...
- nginx 11个处理阶段 && nginx lua 8个处理阶段
1. nginx 11 个处理阶段 nginx实际把请求处理流程划分为了11个阶段,这样划分的原因是将请求的执行逻辑细分,各阶段按照处理时机定义了清晰的执行语义,开发者可以很容易分辨自己需要开发的模块 ...
- 更改wordpress的默认登录页面名称wp-login
好多人问我怎么修改wordpress的默认登录地址,因为只要知道是WORDPRESS的后台,都知道http://域名目录/wp-login.php就是登录地址,再用暴力破解器,很有可能会被破解开密码. ...
- Mac下PHP7.1+Nginx安装和配置
https://blog.csdn.net/haiyanggeng/article/details/79186982 PHP:7.1.13Nginx:1.12.2 1. 安装PHP# 添加源brew ...
- react native android 编译
修改 Maven 仓库地址 React Native 在初始化时会从 jcenter.binary.com 这个地方下载一些东西,网上搜索了一下,好像是在下载 Maven 相关的依赖. 针对全局进行修 ...
- unity3d-碰撞检测
碰撞检测 游戏中很多时候都要判断碰撞检测,比如子弹打中敌机.当碰撞后.就要发生爆炸. 或者敌机减血, 我们先看一张图片,看皮球从天空下落.与地面碰撞的过程 碰撞检测条件 游戏中两个对象发生碰撞是需要条 ...
- 3:2 OGNL 简介
OGNL : (对象图导航语言) 从一个对象到另一个对象 OGNL来源于Xwork: OGNL的作用: OGNL在数据进出值栈的时候进行类型转换
- X-UA-Compatible
X-UA-Compatible是神马? X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中 ...
- .NET 和 .NET框架概览
什么是.NET .NET是为简化在第三代因特网的分布式环境下的应用程序的开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性而构建的新一代计算和通信平台.其主要由三部分构成:.NET框架. ...
- MyBatis学习笔记(七)——Mybatis缓存
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4270403.html 一.MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓 ...