马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 嘉岳呀 于 2023-1-9 20:15 编辑
梦想护卫舰 第7关 逃离荒岛
背景
你拯救了不二,突然发现荒岛正在沉没,你打算逃离这个荒岛
你和不二的跑步速度为 17m/s,以这样的速度是无法逃离荒岛的。庆幸的是你们拥有闪烁法术,可在 1s 内移动 60m,不过每次使用闪烁法术都会消耗魔法值 10 点。你的魔法值恢复的速度为 4 点每秒,只有处在原地休息状态时才能恢复。 现在已知你的魔法初值 M,他所在的初始位置与岛的出口之间的距离 S,岛沉没的时间 T。你的任务是写一个程序帮助守你自己计算如何在最短的时间内逃离荒岛,若不能逃出,则输出你在剩下的时间内能走的最远距离。 注意:你们跑步、闪烁或休息活动均以 秒 为单位,且每次活动的持续时间为 整数秒。距离的单位为 米。
提醒
1.不要听那些唠唠叨叨的小怪,他们会叫你不思考,加入他们的阵营
2.如果实在修不出来(快崩溃的那种),你就把你的错误代码提交上来(一定要标注 错误代码 四字)
3.允许直接在编译器里修复
题解
[/hide]
最佳答案排行榜
排名 | 用户名 | 内容 | 奖励 | 1 | 等待大牛的到来~ | 暂无 | 最佳答案+4荣誉+5鱼币(+1技术值) | 2 | 等待大牛的到来~ | 暂无 | +3荣誉+5鱼币+1贡献 | 3 | 等待大牛的到来~ | 暂无 | +3荣誉+3鱼币+1贡献 |
#include <bits/stdc++.h>
using namespace std;
int m, s, t, res1, res2;
int main() {
scanf("%d%d%d", &m, &s, &t);
for (int i = 1; i <= t; ++i) {
res1 += 17;
if (m >= 10) {
m -= 10;
res2 += 60;
} else {
m += 4;
}
res1 = max(res1, res2);
if (res1 >= s) {
printf("Yes\n%d", i);
return 0;
}
}
printf("No\n%d", res1);
return 0;
}
此题乃贪心法也
|