霍普

(纪中)2156. 复仇者vsX战警之训练(train)【SPFA】

天涯浪子 提交于 2020-02-12 12:10:34
(File IO): input:attack.in output:attack.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto ProblemSet 题目描述 月球上反凤凰装甲在凤凰之力附身霍普之前,将凤凰之力打成五份,分别附身在X战警五大战力上面辐射眼、白皇后、钢力士、秘客和纳摩上(好尴尬,汗)。 在凤凰五使徒的至高的力量的威胁下,复仇者被迫逃到昆仑的一座山上,因为凤凰五使徒监视不到那里。 霍普加入了复仇者,为了磨练自己,她在 n n n 个山峰之间跳跃。 这 n n n 个山峰在一条直线上,每个山峰都有不同的高度,只知道这些山峰在水平上相对位置。霍普可以将这些山峰左右移动但不能改变他们的相对位置(要保证两两山峰间距为整数且大于等于 1 1 1 )。霍普要从最矮的山峰开始跳,每次跳向第一个比现在她所在的山峰高的山峰,一共跳 n − 1 n-1 n − 1 次,由于能力有限,每次跳跃的水平距离小于等于 d d d 。 霍普想知道如何移动这些山峰,使得在可以经过所有的山峰并跳到最高的山峰上的基础下,又要使最矮的山峰和最高的山峰的水平距离最远,霍普要你求出最远的水平距离。如果无论如何也不能经过所有的山峰并跳到最高的山峰上,那么输出 − 1 -1 − 1 。 输入 输入文件名为 a t t a c k . i n attack.in a t t