c语言龟兔赛跑预测问题

/*
问题描述
兔子发现自己领先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;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值