龟兔赛跑预测
题目
- 问题描述
话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。
然而有些比赛相当漫长,全程观看会耗费大量时间,而小华发现只要在每场比赛开始后记录下兔子和乌龟的数据——兔子的速度v1(表示每秒兔子能跑v1米),乌龟的速度v2,以及兔子对应的t,s值,以及赛道的长度l——就能预测出比赛的结果。但是小华很懒,不想通过手工计算推测出比赛的结果,于是他找到了你请求帮助,请你写一个程序,对于输入的一场比赛的数据v1,v2,t,s,l,预测该场比赛的结果。 - 输入说明
输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2<=100;t<=300;s<=10;l<=10000且为v1,v2的公倍数) - 输出说明
输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。
第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。
比如:
输入
10 5 5 2 20
输出
D
4
输入
10 5 5 1 20
输出
R
3 - 输入范例
10 5 5 3 20- 输出范例
T 4解题思路
- 本题思路是通过 逐秒模拟比赛过程(模拟算法) 来判断兔子和乌龟的比赛结果。设兔子的速度为 v1,乌龟的速度为 v2,赛道长度为 l。从第 1 秒开始,每一秒都更新两者的行进距离:乌龟每秒都会前进 v2米,而兔子通常每秒前进 v1米。但在每一秒结束后,如果兔子发现自己 领先乌龟达到或超过 t 米,则兔子会 停止跑步休息 s 秒,在休息期间兔子不移动,但乌龟仍然继续前进。可以用一个变量记录兔子剩余休息时间,当休息时间大于0时兔子不移动并减少休息计数。每秒更新两者位置后判断是否到达或超过终点 l,一旦有人到达终点就结束模拟,根据两者到达终点的情况判断是 兔子胜(R)、乌龟胜(T) 还是 同时到达(D),并输出对应耗费的时间。
整体代码
#include<iostream>usingnamespacestd;intmain(){intv1,v2,t,s,l;cin>>v1>>v2>>t>>s>>l;intrabbit=0,turtle=0;inttime=0;intrest=0;// 兔子剩余休息时间while(rabbit<l&&turtle<l){time++;// 兔子移动或休息if(rest>0){rest--;}else{rabbit+=v1;}// 乌龟移动turtle+=v2;// 每秒结束判断是否需要休息if(rest==0&&rabbit-turtle>=t){rest=s;}}if(rabbit>=l&&turtle>=l)cout<<"D"<<endl;elseif(rabbit>=l)cout<<"R"<<endl;elsecout<<"T"<<endl;cout<<time<<endl;return0;}注意事项
- 注意休息判断发生在“秒结束”。
英文段落翻译
自己翻译
ROM(只读存储器)包含了一个小的指令和叫做引导装入程序的数据集合。引导装入程序指令告诉一个数字设备怎样启动通常引导装入程序运行自我测试来查明硬件是否运行正确,并且可能也证实基础程序没有被损坏,他随后装载操作系统进入RAM。然而是暂时的和易失性的ROM是更加持久的和不易失的。ROM的目录甚至在设备已经关闭的时候都可以保留。
大部分计算机有着另外的存储设备,叫做海量存储器(或者第二存储器)系统。使用在个人计算机上常见的有三种类型:磁性的光学的以及固态的。
磁性存储器通过磁化微小的颗粒在一个硬盘或者磁带表面来表示数据。虽然第一台个人计算机使用和磁带来存储,但是软磁盘存储不久后开始变得可行。现今最常见的磁性存储科技的例子是磁盘或者磁盘驱动器。
AI翻译
只读存储器(ROM)包含一小组称为引导加载程序的指令和数据。引导加载程序的指令告诉数字设备如何启动。通常,引导加载程序会执行自检,以确定硬件是否运行正常,并可能验证基本程序是否未被损坏。随后,它将操作系统加载到随机存取存储器(RAM)中。RAM是临时性且易失的,而ROM则更具永久性且非易失。即使设备关闭,ROM中的内容仍保持不变。
大多数计算机还配备有称为大容量存储(或辅助存储)系统的附加存储设备。个人计算机常用的有三种类型:磁存储、光存储和固态存储。
磁存储通过在磁盘或磁带表面磁化微观粒子来表示数据。首批个人计算机使用盒式磁带进行存储,但软盘存储很快便问世。如今,磁存储技术最常见的例子是磁盘或称硬盘驱动器(HDD)。
单词打卡
下一篇
待续