高尔夫难题代码的灵感来自桥梁和火炬问题,其中d的人们必须在最短的时间内跨过桥梁的起点。
要注意的是,最多两个人可以一次过桥,否则桥将因他们的重量而压碎,这群人只有一根火炬可以通过桥。
整个拼图中的每个人都有指定的时间走过桥。如果两个人交叉在一起,那对人和最慢的人一样慢。
没有一定数量的人必须过桥。您的解决方案必须适用于d的任何值。
您无需为此问题使用标准输入,但是为了解释该问题,我将使用以下输入和输出格式进行解释。第一个数字d是桥梁开始处的人数。然后,代码将扫描d个数字,每个数字代表一个人的速度。
代码输出将是从桥的起点到桥的终点穿越每个人,同时满足前面说明的标准所需的最少时间。
以下是一些输入案例和输出案例以及第一个输入案例的说明。您可以根据这些信息派生算法,以尽可能少的代码字节来解决问题。
输入
4
1 2 5 8
输出
15
为了达到这一目标,人民必须以下列方式进行交往。
A and B cross forward (2 minutes)
A returns (1 minute)
C and D cross forward (8 minutes)
B returns (2 minutes)
A and B cross forward (2 minutes)
这是另一个测试用例,可以指导您逐步进行。
输入
5
3 1 6 8 12
输出
29
规则:
- 假设不会对输入进行排序,并且您必须自己进行排序(如果需要)
- 拼图中的人数不固定为4(N> = 1)
- 每个团体和个人穿越都必须有火炬。火炬只有一个。
- 每个小组最多只能由2个人组成!
- 不,您可能不会跳下桥去游泳到另一边。没有其他这样的把戏;)。
1 4 5 6 7有类似的问题。25比26
N >= 2人员(这很奇怪,这是处理“ 1个人需要越过”这一琐碎情况的额外工作),因此对此点进行一些澄清将是非常好的。提前致谢。
1 3 4 5,该用例应该返回14而不是