1 条题解

  • 0
    @ 2026-10-18 17:44:03

    G1029 [GESP202609 一级] 新龟兔赛跑 题解

    难度:2(GeekPi教学评定);知识点:浮点运算、条件判断、格式化输出。

    解题思路

    兔子实际用时q=1000/v+s,包含跑完1000米的时间和休息时间。把它与乌龟用时t比较,输出turtle、rabbit或tie,第二行输出兔子用时并保留两位小数。

    为什么正确

    两者完成同一路程,比较总用时的大小即可判断胜负;休息只加入兔子的总时间。

    易错点

    用浮点除法计算1000/v;不要先四舍五入再比较胜负;平局输出tie。

    复杂度

    时间:O(1);额外空间:O(1)。

    参考代码(C++17)

    #include<bits/stdc++.h>
    
    using namespace std;
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        double t,v,s;
        cin>>t>>v>>s;
        double q=1000/v+s;
        cout<<(t<q?"turtle":t>q?"rabbit":"tie")<<"\n"<<fixed<<setprecision(2)<<q;
    }
    

    来源与说明

    本题解为配套教学整理,非官方题解。题库使用自行生成的测试数据,6个测试点。

    • 1

    信息

    ID
    637
    时间
    1000ms
    内存
    512MiB
    难度
    入门
    标签
    递交数
    3
    已通过
    2
    上传者