1 条题解

  • 0
    @ 2026-6-19 10:30:14

    📝 题目大意

    给定一个工作日(周一至周五),求距离最近的下一个周六还有几天。

    💡 解题思路

    1. 题目分析:输入保证是 MondayFriday 之一,数据范围极小,直接枚举即可。
    2. 算法推导:从周一到周五,分别距离周六的天数为 5544332211。用 if-else 对输入字符串 SS 逐一匹配,输出对应天数。
    3. 边界与细节:无特殊边界,输入一定合法,直接输出即可。

    ⏱️ 复杂度分析

    • 时间复杂度O(1)O(1),至多 55 次字符串比较。
    • 空间复杂度O(1)O(1),仅存储输入字符串。

    💻 标准代码 (C++)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main () {
        string s;
        cin >> s;
        // 根据输入的工作日,输出距离周六的天数
        if (s == "Monday") printf("5");       // 周一 → 5 天
        else if (s == "Tuesday") printf("4");  // 周二 → 4 天
        else if (s == "Wednesday") printf("3");// 周三 → 3 天
        else if (s == "Thursday") printf("2"); // 周四 → 2 天
        else printf("1");                      // 周五 → 1 天
        return 0;
    }
    
    • 1

    信息

    ID
    631
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者