蒜头君爬楼梯(2) - 计蒜客
目录
题目
题解
题目
- 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) - 计蒜客相关推荐
- 蒜头君的新游戏 - 计蒜客
目录 题目 题解 题目 1000ms 131072K 工作空闲之余,蒜头君经常带着同事们做游戏,最近蒜头君发明了一个好玩的新游戏:n 位同事围成一个圈,同事 A 手里拿着一个兔妮妮的娃娃.蒜头君喊游戏 ...
- 蒜头君爬楼梯(1) - 计蒜客
目录 题目 题解 题目 1000ms 32767K 蒜头君很喜欢爬楼梯,但是蒜头君腿不够长,每次蒜头君最多只能一步跨越两个阶梯.比如他初始在楼底,跨越一个阶梯到达 1 号阶梯,或者跨越两个阶梯到达 2 ...
- 【动态规划DP】蒜头君爬楼梯
题目描述 蒜头君很喜欢爬楼梯,但是蒜头君腿不够长,每次蒜头君最多只能一步跨越两个阶梯.比如他初始在楼底,跨越一个阶梯到达 1 号阶梯,或者跨越两个阶梯到达 2 号阶梯.如下图 为了选出一种最轻松的爬楼 ...
- 【动态规划DP】蒜头君爬楼梯2
题目描述 为了选出一种最轻松的爬楼梯的方式,蒜头君想把所有不同的到达楼顶的方式都尝试一遍.对于一共有 n 个阶梯的楼梯,蒜头君一共有多少总方法从楼底到达楼顶. 由于最后答案可能很大,输出最后的答案对 ...
- 计蒜客 挑战难题 爬楼梯
计蒜客 挑战难题 爬楼梯 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输 ...
- 计蒜客 - 蒜头君的任务
计蒜客 蒜头君的任务 题目描述 蒜头君的上司给蒜头君布置了一个任务,蒜头君维护一个数列,要求提供以下两种操作: 查询操作. 语法:Q L 功能:查询当前数列中末尾 L L L 个数中的最大的数,并输出 ...
- [计蒜客(蓝桥杯省赛)]蒜头君的购物袋2
题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 DP 题目描述 思路 01背包模板 题目代码 #include<iostream> #include<climits> ...
- 5.计蒜客ACM题库.A2234 结果填空:青蛙爬井
计蒜客ACM题库.A2234 结果填空:青蛙爬井 有一口深度为 high 米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬 up 米,夜里则顺井壁向下滑 down 米. 若青蛙从某个早晨开始向外爬 ...
- 2020蓝桥杯B 组省赛计蒜客模拟赛(一)题解
2020蓝桥杯省赛 B 组计蒜客模拟赛(一)目录 试题 A:有趣的数字(结果填空) 试题 B:爬楼梯(结果填空) 试题 C:七巧板(结果填空) 试题 D:苹果(结果填空) 试题 E:方阵(结果填空) ...
最新文章
- 可能是东半球最好的 Curl 学习指南,强烈建议收藏!
- CB Insights发布2017全球AI企业100强,出门问问、碳云智能入选
- 一、nginx基本模块以及模块配置
- sys/cdefs.h: No such file or directory
- onenote快捷键_onenote链接系列:4种链接笔记的地址
- 瑞士电信vCPE商用落地 华三通信NFV方案成最大功臣
- 遍历列表python_Python 遍历List的三种方法
- java代码pingip_java代码ping一个IP地址
- FPGA与数字信号处理
- matlab multisim,清华大学出版社-图书详情-《仿真软件教程——Multisim和MATLAB》
- Docker 镜像加速器配置
- 国内主流API市场分析报告
- Python学习笔记之循环的实战练习
- Poi 为word 添加页眉 获取页眉
- python带你过不一样的“清明节”和看神奇的《清明上河图》
- Matlab求解黎卡提方程
- Android系统之路(初识MTK) ------ make update-api长按Power键添加Reboot项/内置默认Ringtone/SMS/Notification/Alarm删除系统铃声
- Oracle默认数据库角色账号密码
- LSV又新增13个地质图!量测对比分析全都能搞定
- Oracle 中的Userenv()
热门文章
- 什么是扩散模型(Diffusion Models)?
- steps_per_epoch 与 epochs 的关系
- DXC Technology将收购领先数字创新公司Luxoft
- 多基线干涉仪系统测向误差分析
- 黑科技揭秘:面对海量的文本翻译任务,阿里翻译团队是如何解决的 1
- 微信小程序支付功能用服务器吗,微信小程序 支付功能 服务器端(TP5.1)实现...
- NormalBlend
- 我如何从月薪1800到年薪百万到自由职业?
- 神经网络模型u-net 、VGG
- 华为服务器不做阵列怎么进系统,服务器不做阵列能装系统