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
动态规划--游艇租赁
最新推荐文章于 2024-05-16 02:51:22 发布