P5709 【深基2.习6】Apples Prologue / 苹果和虫子

题目详细解释
问题背景分析:

小B在连续不断地吃苹果,没有任何休息时间

吃完一个苹果后立即开始吃下一个苹果

我们需要计算在给定的时间内,还剩下多少个完全没有被吃过的苹果

关键概念理解:

完整的苹果:完全没有被咬过、完好无损的苹果

不完整的苹果:包括已经吃完的苹果和正在吃但还没吃完的苹果

时间连续性:时间计算是从开始吃第一个苹果起连续计算的

核心难点:

如何处理"正在吃但还没吃完"的苹果

如何避免除零错误

如何处理时间足够吃比实际更多苹果的情况

#include <bits/stdc++.h>
using namespace std;
int main() {
    int m, t, s;
    cin >> m >> t >> s;  // 输入苹果数量、吃一个需要的时间、已经过去的时间
    
    // 特殊情况1:如果吃一个苹果需要0分钟,瞬间吃完所有苹果
    if (t == 0) {
        cout << 0 << endl;
        return 0;
    }
    
    // 计算已经吃了多少个苹果(包括没吃完但已经不完整的)
    int sum;
    if (s % t == 0) {
        sum= s / t;  // 正好吃完整数个
    } else {
        sum = s / t + 1;  // 多一个不完整的苹果
    }
    
    // 计算剩下的完整苹果数量
    int count = m - sum;
    
    // 如果剩下的苹果数量小于0,说明吃超了,实际上剩0个
    if (count < 0) {
        count = 0;
    }
    
    cout << count << endl;
    
    return 0;
}
 

 

posted @ 2025-10-03 16:36  乐意丘  阅读(11)  评论(0)    收藏  举报