top1编程
← 返回题目
题解

自动加油站

1 条题解

  • 0
    @ 2026-8-4 10:11:45

    解题思路

    先按汽油种类算基础费用:a 每千克 1 元、b 2 元、c 3 元,即 千克数 × 单价。

    再按服务等级调整:

    • f 自动加:不加不减
    • m 自己加:减 3 元
    • e 协助加:加 10 元

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int kg;
        char type, sv;
        cin >> kg >> type >> sv;
        // 汽油单价:a=1, b=2, c=3 元/千克
        int price;
        if (type == 'a') price = 1;
        else if (type == 'b') price = 2;
        else price = 3;
        int cost = kg * price;
        // 服务等级:f自动不加不减,m自己加减3,e协助加加10
        if (sv == 'm') cost -= 3;
        else if (sv == 'e') cost += 10;
        cout << cost << endl;
        return 0;
    }
    

    复杂度分析

    只做常数次判断,时间复杂度 O(1),额外空间复杂度 O(1)。

    • 1