NOIP2007守望者的逃离
来源:互联网 发布:博客域名 编辑:程序博客网 时间:2024/05/16 01:23
恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者
在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这
个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为
17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不
过每次使用闪烁法术都会消耗魔法值10点。守望者的魔法值恢复的速度为4点/s,只有处在原地
休息状态时才能恢复。
现在已知守望者的魔法初值M,他所在的初始位置与岛的出口之间的距离S,岛沉没的时间T。
你的任务写写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望
者在剩下的时间能走的最远距离。注意:守望者跑步、闪烁或休息活动均以秒(s)为单位,且每
次活动的持续时间为整数秒。距离的单位为米(m)。
普及组的傻逼题,以前不会做啊,今天看到了就来补一发吧。首先是个贪心思想,魔法足够的肯定是闪烁,我们可以预处理出一个不行走的dp[i],然后再从1扫到T来考虑行走是否能够得到更优解。
#include<iostream>int m,s,t,i,f[300001]; using namespace std;int main(){ cin>>m>>s>>t; for(i=1;i<=t;i++) { if(m>=10) { f[i]=f[i-1]+60; m-=10; } else { f[i]=f[i-1]; m+=4; } } for(i=1;i<=t;i++) { if(f[i]<f[i-1]+17)f[i]=f[i-1]+17; if(f[i]>=s) { cout<<"Yes"<<endl; cout<<i<<endl; return 0; } } cout<<"No"<<endl; cout<<f[t]<<endl; return 0;}
0 0
- NOIP2007:守望者的逃离
- NOIP2007守望者的逃离
- NOIP2007守望者的逃离
- noip2007 守望者的逃离 (贪心)
- NOIP2007普及组-守望者的逃离
- COGS 25. [NOIP2007] 守望者的逃离 解题报告
- vijos1431[noip2007]守望者的逃离(背包动规)
- |洛谷|NOIP2007|动态规划|P1095 守望者的逃离
- noip2007守望着的逃离 2008.11.5
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- 守望者的逃离
- MicroPython - 问题整理
- Registry key Error: Java version has value '1.8', but '1.7' is required
- Eclipse启动Tomcat时,45秒超时解决方式
- 实习工作日志
- iss 使用教程
- NOIP2007守望者的逃离
- EMS APK
- 关于表格溢出显示省略号的css解决方法
- linux网络编程之socket(一):socket概述和字节序、地址转换函数
- linux网络编程之socket(二):C/S程序的一般流程和基本socket函数
- chrome插件-visual event
- Torch安装
- 浅谈java中的Set,Map,List的区别
- linux网络编程之socket(三):最简单的回射客户/服务器程序、time_wait 状态