/*
问题描述
兔子发现自己领先t米或以上,它们就会停下来休息s秒。
但是所有的乌龟却是一致——它们不到终点决不停止。
兔子的速度vgggt
乌龟的速度vg,
以及兔子对应的t,s值,
以及赛道的长度l
于是他找到了你
!!!!!!!!!清华大学计算机系的高才生!!!!!!!!!!
请求帮助,
请你写一个程序,对于输入的一场比赛的数据vt,vg,t,s,l,预测该场比赛的结果。
输入格式
输入只有一行,包含用空格隔开的五个正整数vt,vg,t,s,l,其中(vt,vg<=100;t<=300;s<=10;l<=10000且为vt,vg的公倍数)
输出格式
输出包含两行,第一行输出比赛结果——一个大写字母“T”或“R”或“D”,分别表示乌龟获胜,兔子获胜,或者两者同时到达终点。
第二行输出一个正整数,表示获胜者(或者双方同时)到达终点所耗费的时间(秒数)。
样例输入
10 5 5 2 20
样例输出
D
4
样例输入
10 5 5 1 20
样例输出
R
3
样例输入
10 5 5 3 20
样例输出
T
4
*/
#include <stdio.h>
int main(void)
{
int vt,vg;
int t,s,l;
scanf("%d",&vt);
scanf("%d",&vg);
scanf("%d",&t);
scanf("%d",&s);
scanf("%d",&l);
int guisj = l / vg;
int xie = 0;
int tu[l];
tu[0] = 0;
int gui[l];
gui[0] =0;
int n;
for(n = 1; n <= l / vg; n++)
{
gui[n] = gui[n - 1] + vg;
tu[n] = tu[n - 1] + vt;
if(tu[n] - gui[n] >= t && tu[n] != l)
{
xie ++;
gui[n] += s * vg;
}
int tusj = (l / vt) + (xie) * s;
if(gui[n] == tu[n] && gui[n] == l)
{
printf("%c\n",'D');
printf("%d",guisj);
break;
}
if(gui[n] >= l)
{
printf("%c\n",'T');
printf("%d",guisj);
break;
}
if(tu[n] >= l)
{
printf("%c\n",'R');
printf("%d",tusj);
break;
}
}
return 0;
}
c语言龟兔赛跑预测问题
最新推荐文章于 2024-03-14 19:02:55 发布