模拟40pts求条
查看原帖
模拟40pts求条
1188194
junye楼主2025/8/3 22:10
#include <iostream>
#include<cmath>

using namespace std;

int Time, dis, value;

int main() {
    int m, s, t;
    cin >> m >> s >> t;
    value = m;
    while (Time < t && dis < s) {
        if (value >= 10) {      // 魔法值>10可以瞬移
            value -= 10;
            dis += 60;
            Time++;
        } else {
            int need_time = ceil((10.0-value) / 4.0);
            if(need_time==0)    need_time = 1;

            if (Time + need_time + 1 <= t && 60 > 17 * (need_time + 1)) {
                Time += need_time;
                value = value + 4 * need_time;       // 恢复魔法
                // 直接瞬移
                value -= 10;
                dis += 60;
                Time++;
            } else {
                Time++;
                dis += 17;
            }
        }
    }
    if (dis >= s) {
        cout << "Yes" << endl << Time;
        return 0;
    } else {
        cout << "No" << endl << dis;
        return 0;
    }
    return 0;
}
2025/8/3 22:10
加载中...