【dp】租用游艇问题
来源:互联网 发布:舞台设计软件 编辑:程序博客网 时间:2024/05/16 01:23
问题描述:
长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n。游客可在这些游艇出租站租 用游艇, 并在下游的任何一个游艇出租站归还游艇。游艇出租站i 到游艇出租站j 之间的租 金为 r(i,j),1£i<j£n。试设计一个算法,计算出从游艇出租站 1 到游艇出租站 n 所需的最少租 金。
编程任务:
对于给定的游艇出租站 i 到游艇出租站 j 之间的租金为 r(i,j),1£i<j£n,编程计算从游艇出租站 1到游艇出租站 n所需的最少租金。
数据输入:
由文件 input.txt 提供输入数据。文件的第 1 行中有 1 个正整数 n(n<=200) ,表示有 n个 游艇出租站。接下来的n-1行是r(i,j),1£i<j£n。
结果输出:
程序运行结束时, 将计算出的从游艇出租站1 到游艇出租站 n所需的最少租金输出到文件 output.txt中。
样例:
3
5 15
7
12
核心思想:
类似floyd,f[i,j]=min{f[i,k]+f[k,j],f[i,j](i<k<j)} i到j的最短费用是之际到达或者经由k而产生的
var a,f:array[0..210,0..210]of longint; n,i,j,k:longint;function min(a,b:longint):longint;begin ifa>b then exit(b); exit(a);end;begin assign(input,'p38.in');reset(input); assign(output,'p38.out');rewrite(output); readln(n); fori:=1 to n-1 do begin for j:=i+1 to n do read(f[i,j]); readln; end; fori:=1 to n-1 do forj:=i+1 to n do for k:=i+1 to j-1 do f[i,j]:=min(f[i,k]+f[k,j],f[i,j]); writeln(f[1,n]); close(input);close(output);end.题目来源:《算法设计与分析》第三章动态规划
- 【dp】租用游艇问题
- 王晓东 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 游艇租用问题
- 租用游艇问题
- 租用游艇问题
- openjudge 租用游艇问题
- 游艇租用问题2
- 租用游艇问题
- 租用游艇问题
- 算法 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- Certificate identity appearing twice与dwarfdump binary must exist
- 20110831
- MySQL---Windows环境下从命令行进入MySQL命令行程序
- COM笔记-QueryInterface函数
- 气
- 【dp】租用游艇问题
- 使用AES加密游戏资源文件
- Kill 不只是kill,也可发信号给自己的进程
- 【转+补充】输入子系统--event层分析,gpio 键盘驱动
- android笔记 ProgeressDialog与线程
- 如何写Descriptor的属性
- jquery 控制 div 显示文字
- 【dp】汽车加油行驶问题
- “一碗牛肉面”引发的管理难题