【贪心】守望者的逃离
【贪心】守望者的逃离
题目描述
解题思路
这道题的思路是贪心。我们同时进行闪烁魔法和跑步两种状态,然后找出在同一时间内,哪一种状态走得更远,就选择哪一种。当然,当时间不够使用或恢复魔法时,只能选择跑步。
代码
#include<cstdio>
#include<iostream>
using namespace std;
int i,m,s,t,run,magic;
int main()
{
cin>>m>>s>>t;
for(i=1;i<=t;i++)
{
if(m>=10)
{
m-=10;
magic+=60;
}//当魔法足够时,使用魔法
else
m+=4;//否则恢复魔法
run+=17;
if(magic>run)//判断哪个走得更远
run=magic;
if(run>=s)
{
cout<<"Yes"<<endl<<i;//如果走完了路程,输出答案,直接退出。
return 0;
}
}
cout<<"No"<<endl<<run;
return 0;
}
谢谢阅读
本文来自博客园,作者:基德不基,转载请注明原文链接:https://www.cnblogs.com/ssllyw/p/15032278.html