OI 守望者的逃离 c语言简洁注释 逻辑清晰
OI 守望者的逃离
文章目录
- OI 守望者的逃离
- 思路
- 代码
题目描述
恶魔猎手尤迫安野心勃勃.他背叛了暗夜精灵,率深藏在海底的
那加企图叛变:守望者在与尤迪安的交锋中遭遇了围杀.被困在
一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛
施咒,这座岛很快就会沉下去,到那时,刀上的所有人都会遇
难:守望者的跑步速度,为17m/s, 以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不过每次使用闪烁法术都会消耗魔法值10点。守望者的魔法值恢复的速度为4点/s,只有处在原地休息状态时才能恢复。
现在已知守望者的魔法初值M,他所在的初始位置与岛的出口之间的距离S,岛沉没的时间T。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。注意:守望者跑步、闪烁或休息活动均以秒(s)为单位。且每次活动的持续时间为整数秒。距离的单位为米(m)。输入格式
输入仅一行,包括空格隔开的三个非负整数M,S,T。
输出格式
输出包含两行:
第1行为字符串"Yes"或"No" (区分大小写),即守望者是否能逃离荒岛。
第2行包含一个整数,第一行为"Yes" (区分大小写)时表示守望着逃离荒岛的最短时间
第一行为"No" (区分大小写) 时表示守望者能走的最远距离。样例输入
39 200 4
样例输出
No
197
思路
主要考察模拟,主要要求是思路要清晰,
要不然代码逻辑混乱很麻烦。
题目已经给出三个条件,初始能量,距离,时间,
我们不难发现,使用能量移动速度无论如何也是比跑得快
,这很重要。而对于时间类问题 一般使用while会好很多
核心问题是选择跑还是等待回蓝 所以在第12行专门写了个判断
判断是走还是跑。
代码
#include<stdio.h>
int main(){int lan, sum ,time;//分别代表 蓝 路程 时间int a=0;//计算路程int b=0;//计算时间scanf("%d%d%d",&lan,&sum,&time);while(time){if(lan>=10){//如果还有蓝的话 就先用蓝 a+=60;//存储距离 因为while一次一次掉// 所以+=60lan-=10;//蓝也掉10}else{//当蓝不够if((time-1)*4>=10)//时间不够时 比如1 这里得不到10的蓝 转而向下//这里很重要 务必理解{lan+=4;//选择回蓝}else{a+=17;//选择跑路} }b++;//时间 计算用了多久time-=1;//时间减少if(a>=sum){//距离已经超过了路程 跑走啦break;}}if(a>=sum){//大于总路程printf("Yes\n");printf("%d",b);}else{//距离小于sum 没跑走printf("No\n");printf("%d",a);//输出}return 0;
}
OI 守望者的逃离 c语言简洁注释 逻辑清晰相关推荐
- 洛谷P1095 守望者的逃离 (从未感觉DP如此清晰, 所以这是DP吗2333)
恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变.守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上.为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去.到 ...
- c语言表示注释,c语言中注释的位置
匿名用户 1级 2011-10-21 回答 1 注释的原则和目的注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确.易懂.简洁.通过对函数或过程.变量.结 ...
- 【每日DP】day 5、P1095 守望者的逃离(好像悟到了DP的真谛)难度⭐⭐★
P1095 守望者的逃离 输入 39 200 4 输出 No 197 输入 36 255 10 输出 Yes 6 好像悟到了DP的真谛(doge) 动态规划,就是动态地维护当前的状态. 本题种状态是距 ...
- 歌手比赛系统c语言程序注释,C语言程序课程设计—歌手比赛系统(20页)-原创力文档...
淮南师范学院 课程设计报告 歌手比赛系统 姓 名:胡欢欢 学号: 1008010109 专 业:计算机科学与技术 班 级: 10 级( 1)班 指导教师:彭飞 职称: XXX 2013 年 3 月 7 ...
- 下列有关python语言的说法正确的是-关于 Python 语言的注释,以下选项中描述正确的是( )...
[多选题]以下选项属于 Python 整数类型的是( ) [其它]根据CAD原文件绘制别墅立面图:如图 别墅立面图002.dwg [单选题]字符串是一个连续的字符序列,用________方式打印出可以 ...
- 03-C语言的注释与转义字符
学习重点: 代码注释 转义字符 学习内容: 1.注释可以让复杂的程序易于阅读,而且对程序的功能和运行结果没有任何影响,可以利用其特点进行代码的测试 2.在C语言中注释可以用/*和*/进行块式注释,在/ ...
- C语言代码注释必须用/**/ , 你没看错~
事情是这样的,有人离职,公司调我补缺.那个系统一直有个工程师在维护,参与该系统的新人来了又走,他始终泰然自若.刚过去一个礼拜,我就心下窃吼:"坑爹啊!",也彻底体会到什么叫---绝 ...
- C语言代码注释 - C语言零基础入门教程
目录 方法一:使用// 方法二:使用/* */ 方法三:使用宏 #if #else #end 猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...
- [sicily]1484. 守望者的逃离
1484. 守望者的逃离 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领 ...
最新文章
- Flutter专题1-环境搭建
- unicode环境下用CFile读取txt的若干疑惑,该如何处理
- 重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider...
- 第五十八期:AI艺术日渐繁荣,未来何去何从?
- 什么是Python中的map,reduce和filter?
- 【转】每一种创伤,都是一种成熟
- YIi2 Pjax简单使用
- 萤火虫小程序_线上服务不断档 萤火虫水洞·地下大峡谷推出“云旅游”新体验...
- c#代码转python代码工具_C# 代码转换到Python
- java-练习题-黄金分割点
- WPF StatusBar控件
- android 手机录屏功能,手机自带录屏功能在哪里找?轻松搞定屏幕录制
- Unity Predefined assemblies/assembly definition files
- pg_receivewal实践
- MyEclipse老是弹出problem occurred窗口
- 计算机专业用移动硬盘,评测 篇四十三:国产之光,看这款可做移动硬盘又可系统盘的Orico SSD...
- 【数据结构】二叉树 (Binary Tree)
- 如何实现表格固定表头和某列
- linux下nginx配置SSL证书
- pdf转cad用什么软件比较不错