魔法深渊

  • 题目描述
  • 我的思路

题目描述

前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。
由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬上此深渊。

已知深渊有N层台阶构成(1 <= N <= 1000),并且每次月神仅可往上爬2的整数次幂个台阶(1、2、4、…),请你编程告诉月神,月神有多少种方法爬出深渊

输入:输入共有M行,(1<=M<=1000)
第一行输入一个数M表示有多少组测试数据,
接着有M行,每一行都输入一个N表示深渊的台阶数

输出:输出可能的爬出深渊的方式

我的思路

哇,好想那个青蛙跳台阶

  • 1个台阶:f(1)=1
  • 2个台阶:f(2)=1+1=2
  • 3个台阶:f(3)=f(2)+f(1)=3
  • 4个台阶:f(4)=f(3)+f(2)+1=6
  • 5个台阶:f(5)=f(4)+f(3)+f(1)=10
  • 6个台阶:f(6)=f(5)+f(4)+f(2)=18
  • 7个台阶:f(7)=f(6)+f(5)+f(3)=31
  • 8个台阶:f(8)=f(7)+f(6)+f(4)+1=56
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>using namespace std;bool cmp(pair<int, int>a, pair<int, int>b)
{return a.first<b.first;
}int main()
{int m;cin>>m;vector<int>nums(m, 0);int maxValue = 0;for(int i=0; i<m; i++){cin>>nums[i];maxValue = maxValue>nums[i]?maxValue:nums[i];}vector<long long int>ans(maxValue+1, 0);ans[0]=1; ans[1]=1;if(maxValue>0){ans[2]=2;for(int i=3; i<=maxValue; i++){int j=0;while( pow(2, j) <=i ){ans[i] += ans[i - pow(2, j)];j++;}ans[i]%= 1000000003LL;}}for(int i=0; i<m; i++){cout<<ans[nums[i]]<<endl;}}

运行时间:5ms

占用内存:396k

2019校招真题编程(十九)魔法深渊相关推荐

  1. 永恒python和深渊_【2019校招真题】魔法深渊(python)

    题目描述 前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧. 由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬 ...

  2. 【网易】牛客网2019校招真题(编程题)

    [网易]被3整除 [题解]打表找规律,n为3的倍数和3的倍数余2的都是可以的,3的倍数余1的数是不可以的. 1 #include<bits/stdc++.h> 2 using namesp ...

  3. 游戏海报——快手2019校招真题——笔试编程C/C++

    ヾ(@^▽^@)ノ刷快手,也刷快手笔试题. 题目描述: 小明有26种游戏海报,用小写字母"a"到"z"表示.小明会把游戏海报装订成册(可能有重复的海报),册子可 ...

  4. 2016校招真题编程练习——微信红包(腾讯)

    题目描述 春节期间小明使用微信收到很多个红包,非常开心.在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半.请帮小明找到该红包金额.写出具体算法思路和代码实现,要求算法尽可能高效. ...

  5. 美团点评2019校招真题——种花

    题目描述 公园里有 N 个花园,初始时每个花园里都没有种花,园丁将花园从1到N编号并计划在编号为i的花园里恰好种 A_i 朵花,他每天会选择一个区间[ L,R ]( 1 ≤ L ≤ R ≤ N )并在 ...

  6. 牛客网——2017校招真题在线编程(pythonC++)

    牛客网--2017校招真题在线编程(python&C++) 1.n个数里的最小k个 题目描述 找出n个数里最小的k个 输入描述: 每个测试输入包含空格分割的n+1个整数,最后一个整数为k值,n ...

  7. 200 道算法面试题集锦!Python 实现,含华为、BAT 等校招真题!

    点击上方"AI有道",选择"置顶"公众号 重磅干货,第一时间送达 春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法. ...

  8. 拼多多2018年校招真题

    拼多多2018年校招真题 题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出 ...

  9. 最新!2016-2019计算机历年校招真题、面经、复习资料总结(11G/2284份文件)

    敲黑板!!!全网独一份!!!最新!!!最新!!!!有2019年的资料!!!持续更新中-- 整理了好几天,也在网上买了很多相关资料,终于把2016–2019年各大企业校招真题给总结全了.另外还有各大名企 ...

最新文章

  1. C4D和Redshift:2D矢量到三维渲染 Cinema 4D and Redshift: 2D vector to 3D render
  2. swift_010(Swift 的可选类型)
  3. 17、Windows API 图形用户界面(1)
  4. Android开发之在任意Activity在广点通页面添加自定义布局在穿山甲页面添加任意布局
  5. java web判断服务器是否是本机
  6. 百度首页增加了二维码扫描
  7. 初学Python——字符串相关操作
  8. 【英语学习】【Daily English】U12 E-World L04 I bought it on a Swiss website
  9. 分布式数据库中间件–(1) Cobar初始化过程
  10. 用U盘安装Windows系统操作步骤
  11. 基于Hive解析AST的模仿sqlFlow无中间表的字段级数据血缘的后端
  12. 修改UEditor编辑器上传图片大小限制
  13. 从java9共享内存加载modules说起
  14. 友盟集成微信授权登录,切换微信账号,登录无法切换微信信息问题
  15. ios适配暗黑模式-图片、颜色
  16. 非编码区单核苷酸变异
  17. IIR数字低通滤波器
  18. Python学习记录——Python容器:列表、元组、字典与集合(1)
  19. 微型计算机原理实验二,微机原理实验2
  20. 大话游戏循环Game Loop——PythonC++

热门文章

  1. 怎样为人处事的原则和方法
  2. linux如何重新分区
  3. Dubbo-05 20190317
  4. Ubuntu软件管理工具
  5. 机器学习之数据归一化(Feature Scaling)
  6. mysql命令行的使用
  7. 启动本地mysql的几种方式
  8. 多线程的实现与多线程的同步机制-让你轻松掌握多线程编程
  9. 微信视频气泡 android,变变微信聊天气泡
  10. Python描述数据结构之链队列篇