package com.duoduo.day316;
/**
* 游艇租赁问题
* 长江上设置了n个游艇租赁站,站i到站j之间的租金是r(i,j) 计算从站1到n所需的最少租金
* @author 多多
*/
import java.util.Scanner;
public class Test4_5 {
public static void main(String [] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入站的个数n:");
int n=sc.nextInt();
int [][] m=new int[n+1][n+1]; //存放最少租金的数组
int [][]r=new int[n+1][n+1]; //存放站点之间租金的数组
int [][]s=new int[n+1][n+1]; //存放最优解的停靠站点
System.out.println("请依次输入各站点之间的租金:");
for(int i=1;i<=n;i++) {
for( int j=i+1;j<=n;j++) {
r[i][j]=sc.nextInt();
m[i][j]=r[i][j];
}
}
rent(m,s,n); //最少租金求解函数
System.out.println("花费最少的租金为:"+m[1][n]);
System.out.println("最少租金经过的站点:");
System.out.print("1");
print(1,n,s); //最优解构造函数
sc.close();
}
/*最少租金求解函数*/
public static vo
动态规划--游艇租赁
最新推荐文章于 2023-06-23 18:11:11 发布
这篇博客深入探讨了使用动态规划解决游艇租赁问题的方法,分析了算法的时间复杂度为O(n^3),其中涉及三层循环。同时,注意到在最坏情况下,递归的复杂度可能达到O(n)。此外,为了实现该算法,还使用了辅助数组,导致空间复杂度为O(n^2)。
摘要由CSDN通过智能技术生成