ZZULIOJ-2905
新生邀请赛A
题目描述
madoka的面前有n级台阶,目前她处于第0级台阶,她每一次可以选择选择爬一级台阶或是连爬两级台阶,madoka想知道她有几种到达第n级台阶的走法。出乎意料的是,n级台阶中有k级台阶被损坏了,madoka无法抵达这些被损坏的台阶。
输入
第一行输入一个正整数T,表示测试样例数。
对于每个测试样例,共两行,第一行给出两个正整数n,k,表示台阶的级数以及损坏的台阶数。
第二行给出k个正整数ai,表示第ai级台阶被损坏。
1 <= T <= 10
1 <= n <= 105
1 <= k,ai <= n
输出
对于每个测试样例,输出一个正整数,表示madoka到达第n级台阶的方法数。
答案对1000000007取模。
样例输入 Copy
2 3 1 1 3 3 1 2 3样例输出 Copy
1 0
#include <iostream>
#include <cstring>
using namespace std;
int a[100010],o[100010];//a用来存方法数 o用来存坏的台阶
int main()
{int t;cin >> t;while(t--){memset(a,0,sizeof a);//一定要数组清零 记得加头文件memset(o,0,sizeof o);int n,k,num=0;cin >> n >> k;while(k--){int l;cin >> l;o[l]=1;//将所有的坏的台阶都标记}a[0]=1;//类似斐波那契 得先定义一个数然后递推for(int i=1;i<=n;i++){if(o[i]>0) continue;//遇见坏台阶就跳过else a[i]=a[i-1]+a[i-2];//跳台阶推导a[i]%=1000000007;}cout << a[n] << endl;}}
参考跳台阶推导:(15条消息) 面试题经典:跳台阶问题_leo115的专栏-CSDN博客_跳台阶问题https://blog.csdn.net/leo115/article/details/8039962?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164725793516781683998182%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164725793516781683998182&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-8039962.142%5Ev2%5Epc_search_result_cache,143%5Ev4%5Eregister&utm_term=%E8%B7%B3%E5%8F%B0%E9%98%B6&spm=1018.2226.3001.4187
ZZULIOJ-2905相关推荐
- 【ZZULIOJ】1055: 兔子繁殖问题
ZZULIOJ题解 1055: 兔子繁殖问题 题目描述 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3 ...
- 1055: 兔子繁殖问题 ZZULIOJ
1055: 兔子繁殖问题 题目描述 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对 ...
- 【ZZULIOJ】1070: 小汽车的位置
ZZULIOJ题解 1069: 向Z同学学习 题目描述 有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置.小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向) ...
- 【ZZULIOJ】1001: 植树问题
ZZULIOJ题解 1001: 植树问题 题目描述 某学校植树节开展植树活动,已知树苗有m株,参加植树的同学有n人(且m>n),请问每位同学平均可以植树几株?还有几株剩余? 输入 输入两个整数m ...
- 【ZZULIOJ】1008: 美元和人民币
ZZULIOJ题解 1008: 美元和人民币 题目描述 美元越来越贬值了,手上留有太多的美元似乎不是件好事.赶紧算算你的那些美元还值多少人民币吧.假设美元与人民币的汇率是1美元兑换6.5573元人民币 ...
- 【ZZULIOJ】1088: 手机短号 (多实例)
ZZULIOJ题解 1088: 手机短号 (多实例) 题目描述 大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号.假设所有的短号都是是 ...
- 1088: 手机短号 (多实例) ZZULIOJ
1088: 手机短号 (多实例) 题目描述 大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号.假设所有的短号都是是 6+手机号的后5位 ...
- 【ZZULIOJ】1026: 字符类型判断
ZZULIOJ题解 1026: 字符类型判断 题目描述 从键盘输入一个字符,判断该字符是否大写字母.小写字母.数字字符或其他字符.分别输出对应的提示信息. 输入 输入一个字符. 输出 如果该字符是大写 ...
- 【ZZULIOJ】1011: 圆柱体表面积
ZZULIOJ题解 1011: 圆柱体表面积 题目描述 输入圆柱体的底面半径r和高h,计算圆柱体的表面积并输出到屏幕上.要求定义圆周率为如下宏常量 #define PI 3.14159 输入 输入两个 ...
- ZZULIOJ 1000~1009(oj入门题)
ZZULIOJ 1000~1009 ZZNULIOJ 1000: 整数a+b 题目描述 输入 输出 代码: ZZULIOJ 1001: 植树问题 题目描述 输入 输出 代码: ZZULIOJ 1002 ...
最新文章
- golang内存分配概述
- Git 使用规范流程
- CentOS 7下载
- 把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像
- linux刻录光盘空间不足,linux下刻录光盘所发生的问题及解决办法
- linux算法设计,红黑树的原理分析和算法设计
- viewer vue 文档_vue基于viewer实现的图片查看器
- SAP Spartacus navigation ui节点的url字段的生成逻辑,同样来自sampledataaddon
- Unity手机摇一摇
- SQL 16进制数转化10进制
- python文件的基本操作_「Python」 - 文件基本操作
- python中self做前缀_python 创建类和为什么类方法中self形参必不可少?
- 【干货】DTC模式如何引领消费品牌企业实现创新-罗兰贝格.pdf
- Ubuntu调整CPU程序调度和CPU频率的几种方法
- C++ tbb unsafe_erase() 并发访问 解决方案
- Java英文单词翻译(API文档,IDE以及基本的java英文)
- 梯度、散度、旋度的简单总结
- Allegro SigXplorer 等长设置方法-比较简单
- KPPW系统—开源免费的威客建站系统
- python批量生成经纬度坐标查询_用Python评测三种批量查询经纬度的方法,你pick哪一种?...
热门文章
- DataFrame数据选取超全攻略
- Windows 10免费原生打开HEIC格式的图片(无需转换,直接用照片打开)
- 一本通1348:城市公交网建设问题
- linux 文件名带日期,在linux中追加日期到文件名
- Blast中文手册(2)
- win7计算机里没有网络图标,Win7网络图标不见了怎么办?Win7系统找回网络图标的方法...
- 化工行业危化品实时监控/厂区监控解决方案:EasyGBS如何保障危化品安全生产?
- opencore黑苹果教程
- 实践数据湖iceberg 第十四课 元数据合并(解决元数据随时间增加而元数据膨胀的问题)
- Infor XA ERP运维常用SQL