1 条题解

  • 0
    @ 2025-9-17 21:26:56

    核心逻辑

    1. 计算两种方式的总时间
      • 骑车时间 = 准备时间(找车+开锁+停车+锁车:27+23=50秒) + 骑行时间(距离÷骑车速度3.0米/秒);
      • 步行时间 = 步行时间(距离÷步行速度1.2米/秒),无额外准备时间。
    2. 比较时间
      • 骑车时间 < 步行时间 → 输出“Bike”;
      • 步行时间 < 骑车时间 → 输出“Walk”;
      • 时间相等 → 输出“All”。

    代码实现

    C

    #include <stdio.h>
    
    int main() {
        int distance;
        scanf("%d", &distance);
        
        // 计算骑车和步行的总时间(用double确保精度)
        double bike_time = 50.0 + distance / 3.0;  // 50秒准备时间 + 骑行时间
        double walk_time = distance / 1.2;         // 步行时间
        
        // 比较并输出结果
        if (bike_time < walk_time) {
            printf("Bike\n");
        } else if (walk_time < bike_time) {
            printf("Walk\n");
        } else {
            printf("All\n");
        }
        
        return 0;
    }
    

    C++

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        int distance;
        cin >> distance;
        
        double bike_time = 50.0 + distance / 3.0;
        double walk_time = distance / 1.2;
        
        if (bike_time < walk_time) {
            cout << "Bike" << endl;
        } else if (walk_time < bike_time) {
            cout << "Walk" << endl;
        } else {
            cout << "All" << endl;
        }
        
        return 0;
    }
    

    Python

    # 读取距离(整数)
    distance = int(input())
    
    # 计算两种方式的时间
    bike_time = 50 + distance / 3.0  # 准备时间50秒 + 骑行时间
    walk_time = distance / 1.2       # 步行时间
    
    # 比较并输出
    if bike_time < walk_time:
        print("Bike")
    elif walk_time < bike_time:
        print("Walk")
    else:
        print("All")
    
    • 1

    信息

    ID
    16
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    100
    已通过
    30
    上传者