题解 1108: 守望者的逃离

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

优质题解

1108: 守望者的逃离

解题思路:算是动态规划,但贪心一样可以做,就是蓝够就用闪烁,蓝不够就根据剩余蓝量、剩余时间、剩余距离决定是跑步还是闪烁。核心思想总结来说就是:每秒的当前总位移是选择闪烁(分为位移和休息)和选择跑步两者间的最大值。注意事项:需要理解的地方是:blink[i]=blink[i-1]+60;和move[i]

守望者的逃离 (C语言代码)

解题思路:跑长途,闪着走快一些。短途,直接走快。算算这个差值。注意事项:两个速度差距就在路程在68-102,这个区间。最开始的68,是直接走快,102以后,是闪着快。我设了一个退步走法,所以取了个85,中间值,差不多应该都行的,。参考代码:#includeintmain(){inti

守望者的逃离 (Java代码)

解题思路:注意事项:参考代码:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]ages){/*如果有魔法值就先用,分两个人,一个人跑,一个人休息,一秒一秒推,

守望者的逃离 (C++代码)

摘要:解题思路:注意事项:参考代码:根据题意,守望者要在最短时间走最多的路程,而每秒有三种决策我们不妨将跑步和使用闪烁法术分开处理上代码#include <cstdio>#include <algorith……

守望者的逃离-题解(Python代码)

笔者本题就写得很丑陋了....要算一定时间内最大移动距离si,就需要注意到递归关系:```pythonsi=max(si+17,u[m][ti%7]+120*(ti//7))```max函数中后一项是一直用闪光所能移动的最大距离,其实这个可以另用函数算,笔者这里就偷懒了。

1108: 守望者的逃离

摘要:```cpp #include using namespace std; int m,s,t; int main() { cin>>m>>s>>t; int s1=0,s……

守望者的逃离-题解(Java代码)

```javapublicstaticvoidf3(){Scannersc=newScanner(System.in);intM=sc.nextInt();//法力intS=sc.nextInt();//距离intT=sc.nextInt();//时间inttime=0;//用来存放最短时间intle