屠夫和狼


题目描述

  一屠晚归,担中肉尽,止有剩骨,途经一狼穴。屠夫在发现狼穴后马上以vp m/s匀速逃跑,狼在屠夫逃跑t秒后以vd/s的速度匀速追赶,每当狼即将追上屠夫时,屠夫会立即向狼扔一块骨头,狼会立即捡起骨头并以相同的速度返回洞穴并花费f秒的时间将骨头藏好,然后以相同的速度继续追赶屠夫。

设洞穴离屠夫的住处距离为c米,则屠夫担中至少应有多少块骨头才能保证屠夫安全回家?如果狼恰好在屠夫到达家门口的时候追上,则不需要投骨。

输入

输入的第一行包含一个整数T(T<100)表示数据组数,每组数据包括五个整数,vp,vd,t,f,c(1 ≤ vp,vd ≤ 100,1 ≤ t,f ≤ 10,1 ≤ c ≤1000)。

输出

 每组数据输出一行,包括一个整数,表示需要的最少骨头数。

示例输入

2
1 2 1 1 10
1 2 1 1 8

示例输出

2
1
 
 
#include <stdio.h>

int main()
{
	freopen("a.txt","r",stdin);
	int T;
	int vp,vd,t,f,c;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d%d%d%d",&vp,&vd,&t,&f,&c);
		if(vp>=vd)
		{
			printf("0\n");
			continue;
		}
		double t0=1.0*vp*t/(vd-vp);//狼第一次追上所花时间;
		double tmp=t+t0;//屠夫发现狼穴到狼追上所经过的时间;
		int sum=0;
		while(vp*tmp<c)
		{
			double t1=vp*tmp/vd;//狼返回去所用时间;
			double t2=vp*(tmp+f+t1)/(vd-vp);//狼埋好骨头再次追上所花时间;
			tmp+=t1+t2+f;
			sum++;
		}
		printf("%d\n",sum);
	}
			
	return 0;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值