龟兔赛跑(分值:100分) 时间限制:1000ms 内存限制:2048000KB 题目描述 小乌龟和兔子又一次进行赛跑。但限制它们的条件不一样。它们在一个平面上比赛,兔子只能向上下左右移动,无法斜着移动,因此它可能需要转弯才可以到达终点,而乌龟可以向任意方向前进,因此它可以直接沿一条直线走向终点。 你将会获得起点与终点的坐标(均为整数),现在要求你计算出兔子比乌龟多走的距离。结果保留两位小数。 输入 输入两行,第一行为起点坐标,第二行为终点坐标,每行包括两个整数,以空格分隔。 输出 输出一个浮点数,保留两位小数,为兔子比乌龟多走的距离。 输入样例1 0 0 1 1 输出样例1 0.59
时间: 2023-06-18 10:07:43 浏览: 118
龟兔赛跑小游戏
3星 · 编辑精心推荐
解题思路:
由于兔子只能向上下左右移动,因此我们可以采用广度优先搜索(BFS)来求兔子到达终点的最短路径,同时乌龟可以直接沿一条直线走向终点,因此乌龟到终点的距离可以直接计算。最终答案即为兔子到终点的最短路径长度减去乌龟到终点的距离。
具体实现:
1. 读入起点和终点坐标。
2. BFS搜索兔子到达终点的最短路径长度。
3. 计算乌龟到终点的距离。
4. 计算兔子比乌龟多走的距离,并输出结果(注意保留两位小数)。
参考代码:
阅读全文