您的位置:首页 > 其它

算法_动态规划_租用游艇问题

2016-04-11 20:57 399 查看
问题描述:

长江游乐俱乐部在长江上设置了n个游艇出租站,游客可以在这些游艇出租站用游艇,并在下游任何一个游艇出租站归还游艇,游艇出租站i到j之间的租金是rent(i,j),其中1<=i

import java.util.Scanner;

public class Main {
private static int n;
private static int[][] cost;
private static int[][] dp;

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
cost=new int[n+1][n+1];
dp=new int[n+1][n+1];
for(int i=1;i<=n-1;i++){
for(int j=i+1;j<=n;j++){
cost[i][j]=sc.nextInt();
}
}
for(int r=1;r<=n-1;r++){
for(int i=1;i<=n-1;i++){
int j=i+r;
if(j>n){
continue;
}
dp[i][j]=cost[i][j];
for(int k=i+1;k<j;k++){
dp[i][j]=Math.min(dp[i][j],dp[i][k]+dp[k][j]);
}
}
}
System.out.println(dp[1]
);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: