二、洞穴逃生
描述:精灵王子爱好冒险,在一次探险历程中,他进入了一个神秘的山洞。在洞穴深处,精灵王子不小心触动了洞穴内暗藏的机关,整个洞穴将很快塌陷,精灵王子必须尽快逃离洞穴。精灵王子的跑步速度为17m/s,以这样的速度可能是无法逃出洞穴的。庆幸的是精灵王子拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。精灵王子的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复。现在已知精灵王子的魔法初值M,他所在洞穴中的位置与洞穴出口之间的距离S,距离洞穴塌陷的时间T。你的任务是写一个程序帮助精灵王子计算如何在最短的时间内逃离洞穴。若能逃出,输出”Yes”,并输出逃出所用的最短时间;若不能逃出,则输出”No”,同时输出精灵王子在剩下的时间内能走的最远距离。注意字母大小写。
注意:精灵王子跑步、闪烁或休息活动均以秒(s)为单位。且每次活动的持续时间为整数秒。距离的单位为米(m)。 注:M、S、T均是大于等于0的整数。由输入保证取值合法性,考生不用检查。
提醒: 如果输入的S为0,则说明本身已经在出口,输出应为:Yes 0
如果输入的T为0(且S不为0),则说明已经没有时间了,输出应为:No 0
输入: M S T
输出: “Yes 逃出洞穴所用的最短时间” 或 “No 在洞穴塌陷前能逃跑的最远距离”
样例输入: 10 50 5
样例输出:Yes 1

题目分析:首先看题目中给出的两种王子逃跑的方式——跑步和魔法。跑步的速度是17m/s,使用闪烁法术的移动速度是60m/s,可见魔法足够时使用魔法是最优的方式。当魔法不够时,就要权衡是花时间恢复魔法还是跑步,权衡依赖的两个因素是距离洞口的距离和剩余时间,剩余时间要足够恢复和使用魔法,且距离洞口要足够远(比如如果距离洞

2016华为校招上机试题2——洞穴逃生相关推荐

  1. 2016华为校招上机笔试练习题

    1.最高分是多少 #include <stdio.h> #include <stdlib.h> #include <string.h>int main(){int ...

  2. 2016年华为校招上机考试试题答案

    2016年华为校招上机考试试题答案          [转载请注明出处]http://blog.csdn.net/guyuealian/article/details/50968368      华为 ...

  3. 2014华为武汉上机试题一:手机电池余量

     1. 手机电池余量  描述: 自从有了智能手机,时刻都要关心手机的电量.你的任务很简单,用程序打印符号来表示当前手机的电量. 用10行和10列来表示电池的电量,同时在外围加上边框,每一行表示10 ...

  4. 九月十月 阿里 百度 华为 校招笔试题

    九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面 ...

  5. 华为校招上机Java_2014年华为校园招聘Java上机笔试题

    1.将大写字母转换成其对应小写字母后的第五个字母,大于z的从头开始数. 2.将一个十进制数(byte类型)转化二进制数,将二进制数前后颠倒,再算出颠倒后其对应的十进制数.(见Test2) 3.选秀节目 ...

  6. 2018华为校招笔试题

    校招题1 字符串重排 给定一个原始字符串,统计字符串中各字符出现的次数,并按照ASCII码递增的顺序依次输出. 例:原始字符串为eeefgghh 统计字符串中各字符的出现次数: e : 3 f  : ...

  7. 2015华为校招机试题

    垃圾短信识别  描述: 大众对垃圾短信深恶痛绝,希望能对垃圾短信发送者进行识别. 经分析,发现正常用户的短信通常具备交互性,而垃圾短信往往都是大量单向的短信.如下图所示. 现在请你根据历史短信记录,识 ...

  8. 2016小米校招笔试题

    1 给定一些线段,线段有起点和终点,求这些线段的覆盖长度,重复的部分只计算一次. 方法一: 首先说排序对于处理很多问题都是非常有效的,例如寻找兄弟单词等问题中,经过排序处理后,问题就明朗了很多: 线段 ...

  9. 2016华为校招机试题目02

    题目: 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号.  处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的 ...

最新文章

  1. MPB:中科院城环所杨军组-​​水体浮游植物采集与鉴定
  2. j2ee mysql 图片_实战 J2EE 开发购物网站 二_MySQL
  3. mxnet insightface特征提取
  4. C#之windows桌面软件第十课:电脑ADC值显示(上位机)(单通道显示)
  5. 快速入门 Python 数据分析实用指南
  6. 机器学习笔记十之聚类
  7. ios Image裁剪成圆形的方法
  8. 产品经理学习总结(1)——人人都是产品经理之需求文档语法
  9. 运用tms320c54x汇编语言编写定点数运算,浮点数运算程序,运用TMS320C54x汇编语言编写定点数运算、浮点数运算程序...
  10. 北大青鸟的班主任好当吗_北大青鸟学校怎么样靠谱吗?
  11. CABasicAnimation animationWithKeyPath Types
  12. NSString的长度比较方法(一)
  13. 终于理解你的软件 搞那么多年了 (通用权限管理系统组件源码完善了7-8年)
  14. photoshop照片尺寸
  15. MySQL安装失败的原因
  16. asp.net panel 加html,ASP.NET中 Panel 控件的使用方法
  17. 深度学习需要计算机配置,深度学习工作站配置推荐
  18. 像素px与厘米怎么换算
  19. Android开发-Service(服务)
  20. ubuntu双系统修改启动菜单

热门文章

  1. Active Scheduler of name ‘DefaultQuartzScheduler‘ already registered in Quartz SchedulerRepository.
  2. Java使用多重for循环打印实心三角形,倒立三角形以及空心菱形
  3. 小程序与MySQL数据库的交互_小程序是如何与数据库交互的?
  4. matlab中输出不换行,matlab打印函数disp如何不换行
  5. 这个一站式式数据分析工具到底有多全能?
  6. EOMONTH 函数:计算当月/前后几个月的最后一天
  7. 微信截取下拉菜单图片时,下拉菜单总是消失,无法成功截取
  8. vue获取实时服务器系统信息,vue获取服务器地址
  9. 完全替代效用函数角点解怎么求?
  10. strncat()详解