解题思路:
注意事项:
参考代码:
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复