import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
* 一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子,每隔一米就有一个,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳的更远。
* 每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米,如果为0,就会陷进去无法继续跳跃。
* 河流一共N米宽,袋鼠初始位置就在第一个弹簧上面,要跳到最后一个弹簧之后就算过河了,给定每个弹簧的力量,求袋鼠最少需要多少跳能够到达对岸。如果无法到达输出-1
主要思想就是计算每一步范围内哪一个弹簧能跳到最远,即为它的下一步
*/
public class KangarooRiver2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.valueOf(br.readLine());
String readString = br.readLine();
String[] split = readString.split(" ");
int[] t = new int[split.length];
for (int i = 0; i < t.length; i++) {
t[i] = Integer.valueOf(split[i]);
}
int step = 0;
int dist = 0;
利用贪心算法计算袋鼠过河问题
最新推荐文章于 2024-01-05 19:35:48 发布
本文探讨如何运用贪心算法来有效解决袋鼠过河的优化问题。通过分析问题关键步骤,我们建立数学模型,并详细解释每一步贪心选择,最终实现高效求解方案。
摘要由CSDN通过智能技术生成