目录

题目

题解


题目

  • 1000ms
  • 32767K

蒜头君很喜欢爬楼梯,这一次,他获得了一个特异功能,每次可以跳跃任意奇数的阶梯。比如他初始在楼底,跨越一个阶梯到达 1 号阶梯,或者跨越 3 个楼梯到达 3 号阶梯。如下图

为了选出一种最轻松的爬楼梯的方式,蒜头君想把所有不同的到达楼顶的方式都尝试一遍。对于一共有 n 个阶梯的楼梯,蒜头君一共有多少总方法从楼底到达楼顶。

由于最后答案可能很大,输出最后的答案对 100007 取模的结果。

输入格式

第一行输入一个整数 n(1≤n≤1000)。

输出格式

输出最后答案对于 100007 取模的结果。

输出时每行末尾的多余空格,不影响答案正确性

要求使用「文件输入输出」的方式解题,输入文件为 stairs.in,输出文件为 stairs.out

样例输入复制

4

样例输出复制

3

题解:

知识点:递推的应用

分析:这道题难点在于对跳任意奇数的阶梯的处理,由于我们已经对第0层处理了,所以要用第1层处理,注意这里要逆序处理,j=i-1,因为只有逆序处理才能够遍历小于本台阶的加上奇数为这个数的数,读者无法理解的话可以自行画图,一种是顺序图,一种是逆序图,对比一下就可的顺序是错误的。

代码:

#include<iostream>
#include<cstdio>
using namespace std;
const int mod=100007;
long long dp[1005];//注意用long long。dp[i]表示从底楼到第i层楼的总方案数
int main(){freopen("stairs.in","r",stdin);freopen("stairs.out","w",stdout);int n;cin>>n;if (n==1){//特判cout<<1;return 0;}dp[0]=1;//预处理for (int i=1;i<=n;i++){for (int j=i-1;j>=0;j-=2){//逆序处理,-2是因为j=i-1,接下来一定减去奇数dp[i]+=dp[j];//加入方案数dp[i]%=mod;//取余}}cout<<dp[n];return 0;
}

蒜头君爬楼梯(2) - 计蒜客相关推荐

  1. 蒜头君的新游戏 - 计蒜客

    目录 题目 题解 题目 1000ms 131072K 工作空闲之余,蒜头君经常带着同事们做游戏,最近蒜头君发明了一个好玩的新游戏:n 位同事围成一个圈,同事 A 手里拿着一个兔妮妮的娃娃.蒜头君喊游戏 ...

  2. 蒜头君爬楼梯(1) - 计蒜客

    目录 题目 题解 题目 1000ms 32767K 蒜头君很喜欢爬楼梯,但是蒜头君腿不够长,每次蒜头君最多只能一步跨越两个阶梯.比如他初始在楼底,跨越一个阶梯到达 1 号阶梯,或者跨越两个阶梯到达 2 ...

  3. 【动态规划DP】蒜头君爬楼梯

    题目描述 蒜头君很喜欢爬楼梯,但是蒜头君腿不够长,每次蒜头君最多只能一步跨越两个阶梯.比如他初始在楼底,跨越一个阶梯到达 1 号阶梯,或者跨越两个阶梯到达 2 号阶梯.如下图 为了选出一种最轻松的爬楼 ...

  4. 【动态规划DP】蒜头君爬楼梯2

    题目描述 为了选出一种最轻松的爬楼梯的方式,蒜头君想把所有不同的到达楼顶的方式都尝试一遍.对于一共有 n 个阶梯的楼梯,蒜头君一共有多少总方法从楼底到达楼顶. 由于最后答案可能很大,输出最后的答案对 ...

  5. 计蒜客 挑战难题 爬楼梯

    计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...

  6. 计蒜客 - 蒜头君的任务

    计蒜客 蒜头君的任务 题目描述 蒜头君的上司给蒜头君布置了一个任务,蒜头君维护一个数列,要求提供以下两种操作: 查询操作. 语法:Q L 功能:查询当前数列中末尾 L L L 个数中的最大的数,并输出 ...

  7. [计蒜客(蓝桥杯省赛)]蒜头君的购物袋2

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 DP 题目描述 思路 01背包模板 题目代码 #include<iostream> #include<climits> ...

  8. 5.计蒜客ACM题库.A2234 结果填空:青蛙爬井

    计蒜客ACM题库.A2234 结果填空:青蛙爬井 有一口深度为 high 米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬 up 米,夜里则顺井壁向下滑 down 米. 若青蛙从某个早晨开始向外爬 ...

  9. 2020蓝桥杯B 组省赛计蒜客模拟赛(一)题解

    2020蓝桥杯省赛 B 组计蒜客模拟赛(一)目录 试题 A:有趣的数字(结果填空) 试题 B:爬楼梯(结果填空) 试题 C:七巧板(结果填空) 试题 D:苹果(结果填空) 试题 E:方阵(结果填空) ...

最新文章

  1. 可能是东半球最好的 Curl 学习指南,强烈建议收藏!
  2. CB Insights发布2017全球AI企业100强,出门问问、碳云智能入选
  3. 一、nginx基本模块以及模块配置
  4. sys/cdefs.h: No such file or directory
  5. onenote快捷键_onenote链接系列:4种链接笔记的地址
  6. 瑞士电信vCPE商用落地 华三通信NFV方案成最大功臣
  7. 遍历列表python_Python 遍历List的三种方法
  8. java代码pingip_java代码ping一个IP地址
  9. FPGA与数字信号处理
  10. matlab multisim,清华大学出版社-图书详情-《仿真软件教程——Multisim和MATLAB》
  11. Docker 镜像加速器配置
  12. 国内主流API市场分析报告
  13. Python学习笔记之循环的实战练习
  14. Poi 为word 添加页眉 获取页眉
  15. python带你过不一样的“清明节”和看神奇的《清明上河图》
  16. Matlab求解黎卡提方程
  17. Android系统之路(初识MTK) ------ make update-api长按Power键添加Reboot项/内置默认Ringtone/SMS/Notification/Alarm删除系统铃声
  18. Oracle默认数据库角色账号密码
  19. LSV又新增13个地质图!量测对比分析全都能搞定
  20. Oracle 中的Userenv()

热门文章

  1. 什么是扩散模型(Diffusion Models)?
  2. steps_per_epoch 与 epochs 的关系
  3. DXC Technology将收购领先数字创新公司Luxoft
  4. 多基线干涉仪系统测向误差分析
  5. 黑科技揭秘:面对海量的文本翻译任务,阿里翻译团队是如何解决的 1
  6. 微信小程序支付功能用服务器吗,微信小程序 支付功能 服务器端(TP5.1)实现...
  7. NormalBlend
  8. 我如何从月薪1800到年薪百万到自由职业?
  9. 神经网络模型u-net 、VGG
  10. 华为服务器不做阵列怎么进系统,服务器不做阵列能装系统