两人过桥
来源:互联网 发布:淘宝装修 客户达 编辑:程序博客网 时间:2024/04/30 21:07
问题描述:
有n个人希望在晚上通过一座桥。在任何时刻,最多只能有两个人在桥上,并且必须要带着手电筒才能通过桥。现在的麻烦是只有一个手电筒,所以必须安排某种顺序,使得手电筒可以被带回去让更多的人过桥(手电筒必须由人带回,不可以从对岸扔过去)。 每个人都有不同的过桥时间,两个人一起过桥所用的时间等于其中较慢的一个。你的任务是要找出能在最短时间内使所有人都过桥的方案。 输入格式: 第一行是一个整数n。 接下来有n行,每一行给出一个人的过桥时间(整数,单位:秒)。 每个人的过桥时间不超过100秒。 输出格式:
输出一行一个数,表示所有人过桥的最短时间。
样例输入: 4 1 2 5 10
样例输出: 17
var
n,m,j,k,i,l:longint;
a,f:array[0..1001] of longint;
procedure sort;
var
t,i,j:longint;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
end;
function min(a,b:longint):longint;
begin
if a>b then exit(b)
else exit(a);
end;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
sort;
f[1]:=a[1];
f[2]:=a[2];
for i:=3 to n do
f[i]:=min(f[i-1]+a[i]+a[1],f[i-2]+a[i]+a[1]+a[2]*2);
writeln(f[n]);
end.
- 两人过桥
- 两人过桥
- 两人过桥
- 8.8 两人过桥bridge 2529
- 2017.8.8测试 题三 两人过桥
- 四人过桥
- 四人过桥问题
- 四人过桥问题
- 4人过桥
- 过桥
- 【逻辑】四人过桥问题
- 师徒四人过桥问题
- php试题: 四人过桥问题
- 四人过桥问题的解法
- 四人过桥问题的解法
- [推理力] 四人过桥问题
- Dijkstra算法 ——四人过桥
- NOJ1587 &&小学奥数题 多人过桥问题
- source insight 保存时出现error:too many files are open.
- Python模块之信号学习(signal)
- java 线程 自定义循环出口和interrupt的区别 学习笔记
- 算法复杂度简析
- HBase数据库检索性能优化策略
- 两人过桥
- 使用uc/os开发要明确的几个堆栈
- algorithm这个头文件里包含的常用函数
- R做圈图
- Google/LintCode:E-Guess Number Game
- 2017 Multi-University Training Contest
- HBase特征
- To The Max
- Mysql字段的增删改查