青叶


私信TA

用户名:15005097886

访问量:12469

签 名:

等  级
排  名 1920
经  验 2562
参赛次数 0
文章发表 28
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include<cstdio>
#define max(a,b) a>b?a:b 
using namespace std;

int main(){
	int M,S,T;
	scanf("%d%d%d",&M,&S,&T);
	int flash=0; //一直用闪,能移动的距离 
	int dist=0; //闪和跑的移动距离,其实是记录每一秒变化下最佳移动距离 
	for(int t=1; t<=T; ++t){ 
		if(M>=10){//魔法值足够
			flash+=60; //1秒60米 
			M-=10; 
		}
		else //魔法值不足,停下来休息 
			M+=4;//1秒恢复4点 
			
		dist=max(dist+17,flash);//记录当前这一秒最大移动距离。		
		if(dist>=S){
			printf("Yes\n%d\n",t);
			return 0;
		}
	}
	printf("No\n%d\n",dist);
	return 0;
}


 

0.0分

21 人评分

  评论区

是错的呀,不正确
2022-02-07 20:25:32
没有看懂耶
2021-02-25 14:55:04
蓝不足10,恢复4,但是你怎么就能跑17米呢?不是说好的休息原地不动才能恢复4魔法吗
2020-05-30 15:29:52
厉害啊,我怎么就没想到,就差比较那一步没想到
2020-04-23 16:09:19
题目不是说,只有停下才能恢复能量吗 我看的时候觉得那个选择停下来恢复能量还是往前跑是个选择很麻烦,,但是这个好像是跑的时候就可以恢复能量,只要没有闪就恢复,,是不是有问题,,但是系统判定又是真确的,,是不是我哪里没看懂,,,
2019-12-04 19:39:45
如果flash没有加60 m加了4,dist也加了17,这不矛盾吗?
2019-09-12 20:35:20
福大的大佬牛批
2019-08-02 20:13:13
  • «
  • 1
  • »