编程题
最优驾车 ### 题目描述 有n条南北方向的双向街道和n条东西方向的双向街道纵横交错。相邻街道(不管是哪个走向)的距离均为L英里。西南角交叉口的坐标为$(1,1)$,东北角为$(n,n)$。在所有交叉口均可任意改变行驶方向。每条街道有它自己的最高速度限制,该限制对整条街道有效(不管行驶方向如何)。 你的任务是从交叉口$(x_s,y_s)$开车行驶到$(x_t,y_t)$,要求只能在交叉口处改变速度,行驶过程中不得违反所在街道的速度限制,只能沿着路程最短的线路行驶,并且行驶时间在给定的闭区间$[t_1,t_2]$内。车速以“每小时英里数”为单位,它必须是$5$的正整数倍。若车速为$v$,则每加仑汽油能行驶的英里数为$80-0.03v^2$ ### 输入描述 输入第一行为两个整数$n, L$。 第二行包含$n$个正整数,从南到北描述$n$条东西走向的街道的速度限制。 第三行包含$n$个正整数,从西到东描述$n$条南北走向的街道的速度限制。 第四行包含六个正整数$x_s, y_s, x_t, y_t, t_1, t_2$。 其中,$1 \leq n \leq 10, 1 \leq l \leq 20, 0 \leq t1 \leq t2 \leq 1000$。速度限制不超过 $50$。 ### 输出描述 如果无解,输出 `No`。 否则输出两行,分别描述最早到达的方案(若有多种方案,选择其中最省油的)和最省油的方案(如果有多种方案,选择其中最早到达的)。每种方案用两个数表示,第一个数表示到达时刻(单位:分钟,向上取整);第二个数表示耗油量(单位:加仑,四舍五入保留两位小数)。 ### 输入输出样例 #### 示例 1 >输入 ```txt 6 20 30 40 50 50 50 50 50 50 50 50 50 40 1 1 6 6 300 320 ``` >输出 ```txt 300 6.25 318 5.60 ``` #### 示例 2 >输入 ```txt 8 2 10 20 20 30 10 20 10 10 10 20 20 30 10 20 10 20 6 8 2 4 10 39 ``` >输出 ```txt No ```
查看答案
赣ICP备20007335号-2