嘉岳呀 发表于 2023-1-9 20:13:35

梦想护卫舰 第七关 逃离荒岛

本帖最后由 嘉岳呀 于 2023-1-9 20:15 编辑


梦想护卫舰 第7关 逃离荒岛
背景

你拯救了不二,突然发现荒岛正在沉没,你打算逃离这个荒岛
你和不二的跑步速度为 17m/s,以这样的速度是无法逃离荒岛的。庆幸的是你们拥有闪烁法术,可在 1s 内移动 60m,不过每次使用闪烁法术都会消耗魔法值 10 点。你的魔法值恢复的速度为 4 点每秒,只有处在原地休息状态时才能恢复。现在已知你的魔法初值 M,他所在的初始位置与岛的出口之间的距离 S,岛沉没的时间 T。你的任务是写一个程序帮助守你自己计算如何在最短的时间内逃离荒岛,若不能逃出,则输出你在剩下的时间内能走的最远距离。注意:你们跑步、闪烁或休息活动均以 秒 为单位,且每次活动的持续时间为 整数秒。距离的单位为 米。
提醒
1.不要听那些唠唠叨叨的小怪,他们会叫你不思考,加入他们的阵营
2.如果实在修不出来(快崩溃的那种),你就把你的错误代码提交上来(一定要标注 错误代码 四字)
3.允许直接在编译器里修复

题解
**** Hidden Message *****
最佳答案排行榜

排名 用户名 内容 奖励
1等待大牛的到来~ 暂无最佳答案+4荣誉+5鱼币(+1技术值)
2等待大牛的到来~ 暂无+3荣誉+5鱼币+1贡献
3等待大牛的到来~ 暂无 +3荣誉+3鱼币+1贡献


https://xxx.ilovefishc.com/album/202112/18/185429ddytd2ghhnw4d2bh.png



hveagle 发表于 2023-1-9 20:31:08

回复

hveagle 发表于 2023-1-9 20:32:11

可恶,C++

学习编程中的Ben 发表于 2023-1-9 20:32:45

顶顶顶~

柿子饼同学 发表于 2023-1-9 22:17:40

#include <bits/stdc++.h>
using namespace std;

int run, magic, m, s, t, T;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin >> m >> s >> T;

    t = T;

    while(t--){
      if(m < 10) m += 4;
      else{
            magic += 60;
            m -= 10;
      }
      run = max(run + 17, magic);
      if(run >= s){
            cout << T - t;
            return 0;
      }
    }

    cout << run ;

    return 0;
}

zhangjinxuan 发表于 2023-1-10 08:36:35

#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;
}
此题乃贪心法也

元豪 发表于 2023-1-10 13:51:05

#include <bits/stdc++.h>
using namespace std;



int main(){
    int a, b, t, r1, r2;
      scanf("%d%d%d", &a, &b, &t);
      for (int i = 0; i < t; i++) {
                r1 += 17;
               
                if (a >= 10) {
                        a -= 10;
                        r2 += 60;
                }
                else {
                        a += 4;
                }
               
                r1 = max(r1, r2);
                if (r1 >= b) {
                        printf("Yes %d", i);
                        return 0;
                }
      }
      printf("No %d", r1);
      return 0;
}

柿子饼同学 发表于 2023-1-10 19:16:49

问题是 , 你的题目里没说要写 yes 和 no
另外 , 这题我在洛谷做过了

嘉岳呀 发表于 2023-1-10 19:18:21

柿子饼同学 发表于 2023-1-10 19:16
问题是 , 你的题目里没说要写 yes 和 no
另外 , 这题我在洛谷做过了

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

嘉岳呀 发表于 2023-1-10 19:19:37

柿子饼同学 发表于 2023-1-9 22:17


闹了个大乌龙

ExiaGN001 发表于 2023-1-11 17:18:32

提个建议:
如果单纯是luogu的题(这题==luoguP1095)改背景的话多少是没啥挑战性的
希望能够加上 输入输出格式说明,测试样例 并提高难度

sfqxx 发表于 2023-1-18 16:21:27

lokk look

zhangjinxuan 发表于 2023-1-26 12:05:28

上关链接:https://fishc.com.cn/thread-223038-1-1.html
下关链接:https://fishc.com.cn/thread-223038-1-1.html
页: [1]
查看完整版本: 梦想护卫舰 第七关 逃离荒岛