解题思路:
注意事项:
参考代码:
/*一旦任一秒结束后兔子发现自己领先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 */
#include<stdio.h>
int main()
{
int l1=0,l2=0; //l1:兔子走的距离 l2:乌龟走的距离
int v1,v2,t,s,l;
scanf("%d%d%d%d%d",&v1,&v2,&t,&s,&l);
int i,j,n=0;
for(i=1,j=1;l1<l&&l2<l;j++,i++) // i:乌龟走的秒数;j:兔子走的秒数
{
l1=v1*j;
l2=v2*i;
if(l1-l2>=t&&n==0)
{
n=s;
}
if(n>0)
{
j--;
n--;
}
// printf("%d %d %d\n",i,l1,l2);
}
if(l1==l2||l1>l&&l2>l) printf("D");
else
{
if(l1>l2) printf("R");
if(l1<l2) printf("T");
}
printf("\n%d",--i);
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:702 |
程序员的表白 (C语言代码)浏览:1345 |
高精度加法 (C++代码)(大数加法)浏览:942 |
简单的a+b (C语言代码)浏览:689 |
十->二进制转换 (C语言代码)浏览:1304 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1049 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:902 |
printf基础练习2 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1103 |
1054题解浏览:478 |