1 条题解
-
0
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