新生邀请赛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相关推荐

  1. 【ZZULIOJ】1055: 兔子繁殖问题

    ZZULIOJ题解 1055: 兔子繁殖问题 题目描述 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3 ...

  2. 1055: 兔子繁殖问题 ZZULIOJ

    1055: 兔子繁殖问题 题目描述 这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对 ...

  3. 【ZZULIOJ】1070: 小汽车的位置

    ZZULIOJ题解 1069: 向Z同学学习 题目描述 有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置.小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向) ...

  4. 【ZZULIOJ】1001: 植树问题

    ZZULIOJ题解 1001: 植树问题 题目描述 某学校植树节开展植树活动,已知树苗有m株,参加植树的同学有n人(且m>n),请问每位同学平均可以植树几株?还有几株剩余? 输入 输入两个整数m ...

  5. 【ZZULIOJ】1008: 美元和人民币

    ZZULIOJ题解 1008: 美元和人民币 题目描述 美元越来越贬值了,手上留有太多的美元似乎不是件好事.赶紧算算你的那些美元还值多少人民币吧.假设美元与人民币的汇率是1美元兑换6.5573元人民币 ...

  6. 【ZZULIOJ】1088: 手机短号 (多实例)

    ZZULIOJ题解 1088: 手机短号 (多实例) 题目描述 大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号.假设所有的短号都是是 ...

  7. 1088: 手机短号 (多实例) ZZULIOJ

    1088: 手机短号 (多实例) 题目描述 大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号.假设所有的短号都是是 6+手机号的后5位 ...

  8. 【ZZULIOJ】1026: 字符类型判断

    ZZULIOJ题解 1026: 字符类型判断 题目描述 从键盘输入一个字符,判断该字符是否大写字母.小写字母.数字字符或其他字符.分别输出对应的提示信息. 输入 输入一个字符. 输出 如果该字符是大写 ...

  9. 【ZZULIOJ】1011: 圆柱体表面积

    ZZULIOJ题解 1011: 圆柱体表面积 题目描述 输入圆柱体的底面半径r和高h,计算圆柱体的表面积并输出到屏幕上.要求定义圆周率为如下宏常量 #define PI 3.14159 输入 输入两个 ...

  10. ZZULIOJ 1000~1009(oj入门题)

    ZZULIOJ 1000~1009 ZZNULIOJ 1000: 整数a+b 题目描述 输入 输出 代码: ZZULIOJ 1001: 植树问题 题目描述 输入 输出 代码: ZZULIOJ 1002 ...

最新文章

  1. golang内存分配概述
  2. Git 使用规范流程
  3. CentOS 7下载
  4. 把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像
  5. linux刻录光盘空间不足,linux下刻录光盘所发生的问题及解决办法
  6. linux算法设计,红黑树的原理分析和算法设计
  7. viewer vue 文档_vue基于viewer实现的图片查看器
  8. SAP Spartacus navigation ui节点的url字段的生成逻辑,同样来自sampledataaddon
  9. Unity手机摇一摇
  10. SQL 16进制数转化10进制
  11. python文件的基本操作_「Python」 - 文件基本操作
  12. python中self做前缀_python 创建类和为什么类方法中self形参必不可少?
  13. 【干货】DTC模式如何引领消费品牌企业实现创新-罗兰贝格.pdf
  14. Ubuntu调整CPU程序调度和CPU频率的几种方法
  15. C++ tbb unsafe_erase() 并发访问 解决方案
  16. Java英文单词翻译(API文档,IDE以及基本的java英文)
  17. 梯度、散度、旋度的简单总结
  18. Allegro SigXplorer 等长设置方法-比较简单
  19. KPPW系统—开源免费的威客建站系统
  20. python批量生成经纬度坐标查询_用Python评测三种批量查询经纬度的方法,你pick哪一种?...

热门文章

  1. DataFrame数据选取超全攻略
  2. Windows 10免费原生打开HEIC格式的图片(无需转换,直接用照片打开)
  3. 一本通1348:城市公交网建设问题
  4. linux 文件名带日期,在linux中追加日期到文件名
  5. Blast中文手册(2)
  6. win7计算机里没有网络图标,Win7网络图标不见了怎么办?Win7系统找回网络图标的方法...
  7. 化工行业危化品实时监控/厂区监控解决方案:EasyGBS如何保障危化品安全生产?
  8. opencore黑苹果教程
  9. 实践数据湖iceberg 第十四课 元数据合并(解决元数据随时间增加而元数据膨胀的问题)
  10. Infor XA ERP运维常用SQL