解题思路:
注意事项:
参考代码:
package cn.hui.lanqiaobei02;
import java.util.Scanner;
public class Main1476
{
private static int v1, v2, t, s, l;
public static void main(String[] args)
{
/*
* 输入只有一行,包含用空格隔开的五个正整数v1,v2,t,s,l,其中(v1,v2< =100;t< =300;s< =10;l<
* =10000且为v1,v2的公倍数)
*/
Scanner input = new Scanner(System.in);
v1 = input.nextInt(); // 兔子的速度;
v2 = input.nextInt(); // 乌龟的速度;
t = input.nextInt(); // 领先的米数;
s = input.nextInt(); // 休息的秒数;
l = input.nextInt();// 赛道的长度;
input.close();
run(0, 0, 0, 0);
}
/*
* times 所用的时间; r1 兔子经过的距离 r2 乌龟经过的距离 sleft 所剩余的休息秒数;
*/
public static void run(int times, int r1, int r2, int sleft)
{
if (sleft == 0)
{
if (r1 - r2 >= t)
{
sleft = s - 1; // 这一秒直接用掉,告诉下一次还剩多少秒 s 为休息的秒数;
} else
{
r1 += v1;
}
} else
{
sleft--; // 兔子这一秒休息;
}
r2 += v2;
times++;// 这一秒用掉 , 每一秒判断一次;
if (r1 == l && r2 == l)
{
System.out.println("D");
System.out.println(times);
return;
}
if (r1 == l && r2 != l)
{
System.out.println("R");
System.out.println(times);
return;
}
if (r1 != l && r2 == l)
{
System.out.println("T");
System.out.println(times);
return;
}
run(times, r1, r2, sleft);
}
}
0.0分
0 人评分