题解 P5709 【【深基2.习6】Apples Prologue】

· · 题解

题目还是挺简单的,但是要注意细节!

首先,八尾勇吃了s/t个苹果,那么问题就来了,第一个坑:如果t是0,那么八尾勇肯定能吃完所有的苹果,输出0,但是0又不能做除数,这种情况要特判。

接着往下想,如果st的整数倍,那么八尾勇就吃了s/t个完整的苹果,剩下m-s/t个完整的苹果;如果s并不是是t的整数倍,八尾勇就吃了s/t个完整的苹果和一个残缺的苹果,那么就有s/t+1个苹果不完整了,剩下m-s/t-1个苹果。可是,第二个坑:说不定他在s秒内就吃完了这堆苹果了呢,那么就没有剩下的苹果,输出0。

上代码:

#include<bits/stdc++.h>//万能头文件
using namespace std;
int m,t,s;
int main()
{
    cin>>m>>t>>s;
    if(t==0)//特判t=0的情况
    {
        cout<<0<<endl;
        return 0;
    }
    if(s%t==0)//如果s是t的整数倍
        cout<<max(m-s/t,0)<<endl;
    else//如果不是
        cout<<max(m-s/t-1,0)<<endl;
    return 0;//程序结束
}

程序中max(a,b)就是a,b中的最大值,如果m-s/t比0小,大的就是0了,输出的就是0。