题目描述:龟兔赛跑
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
输入在一行中给出比赛时间T(分钟)。
在一行中输出比赛的结果:乌龟赢输出@_@,兔子赢输出^_^,平局则输出-_-;后跟1空格,再输出胜利者跑完的距离。
例如:输入242,输出@_@ 726
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int T;//比赛总时间
int t;//用在循环中控制时间
int tordis=0;//乌龟的路程
int rabdis=0;//兔子的路程
int rest=0;//兔子剩下的休息时间
cout<<"请输入比赛时间"<<endl;
cin>>T;
for(t=1;t<=T;t++)
{
tordis+=3;//乌龟不休息;
if(t%10==0&&rest==0&&rabdis>tordis)
{
rest=30;//满足条件则兔子休息30分钟
if(rest==0)
{
rabdis+=9;//不在休息就要跑
}
else
rest--;//休息时间减少
}
}
if(rabdis<tordis)
cout<<"@_@ "<<tordis<<endl;
else if(rabdis>tordis)
cout<<"^-^ "<<rabdis<<endl;
else
cout<<"-_- "<<rabdis<<endl;
system ("pause");
return 0;
}