B2048 题解

· · 题解

这题需分段考虑,并没有很多难点。

首先, ans=8 因为基本费是 8 元。

接下来,用 ans 加上 a \bmod 500 ,求出的结果乘 4,看看超重部分多少元。

然后,判断 a \bmod 500 后有没有余数,如果有, ans 再加 4

最后,看看用户有没有加急,如果加急了, ans 再加 5

#include<bits/stdc++.h>
using namespace std;
int a,ans=8;char s;
int main()
{
    cin>>a>>s;
    if(a>1000)
    {
        a=a-1000;
        ans=ans+(a/500)*4;
        if(a%500!=0) 
            ans=ans+4;
    }
    if(s=='y') 
        ans=ans+5;
    cout<<ans;
    return 0;
}