参考代码:

# 从标准输入读取三个整数 m, s, t,分别代表初始能量、目标能量和时间
m, s, t = map(int, input().split())
s1, s2 = 0, 0  # 初始化两个变量用于跟踪两种能量增加方式

for i in range(1, t + 1):
    s1 += 17  # 每秒 s1 增加 17 点能量

    if m >= 10:
        m -= 10
        s2 += 60  # 如果当前能量足够使用技能,s2 增加 60 点能量
    else:
        m += 4  # 否则,每秒恢复 4 点能量

    if s1 < s2:
        s1 = s2  # 如果 s2 大于 s1,将 s1 设置为 s2,以确保 s1 始终代表更大的能量

    if s1 >= s:
        print("Yes")
        print(i)  # 如果 s1 大于等于目标能量 s,输出 "Yes" 和所需时间 i,并结束循环
        break

if s1 < s:
    print("No")
    print(s1)  # 如果循环结束时 s1 仍然小于目标能量 s,输出 "No" 和当前的 s1 值


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论