题目名称 737. [网络流24题] 汽车加油行驶
输入输出 trav.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 8
题目来源 GravatarMakazeu 于2012-04-05加入
开放分组 全部用户
提交状态
分类标签
最短路 网络流
分享题解
通过:68, 提交:146, 通过率:46.58%
GravatarYoungsc 100 0.005 s 0.12 MiB C++
GravatarSamle 100 0.010 s 0.12 MiB C++
Gravatar卜卜 100 0.018 s 0.92 MiB C++
Gravatarthomount 100 0.035 s 9.75 MiB C++
Gravatarinfinityedge 100 0.039 s 1.28 MiB C++
Gravatarlonggod 100 0.039 s 39.83 MiB C++
GravatarRec 100 0.040 s 8.94 MiB C++
Gravataryyb 100 0.042 s 21.28 MiB C++
Gravatarinfinityedge 100 0.044 s 1.28 MiB C++
Gravatar可以的. 100 0.044 s 1.48 MiB C++
关于 汽车加油行驶 的近10条评论(全部评论)
狗屎啊!强制消费
GravatarCSU_Turkey
2017-12-30 15:57 4楼
最短路,注意C不包含A(话说题干写的清清楚楚,我还能看成包含A,QAQ)
GravatarFoolMike
2016-12-29 13:59 3楼
分层图最短路
Gravatar_Itachi
2016-09-22 14:33 2楼
披着网络流外衣的最短路
Gravatar水中音
2015-03-19 18:27 1楼

737. [网络流24题] 汽车加油行驶

★★★   输入文件:trav.in   输出文件:trav.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

给定一个$N$*$N$ 的方形网格,设其左上角为起点◎,坐标为(1,1),$X$ 轴向右为正,$Y$轴向下为正,每个方格边长为1,如图所示。一辆汽车从起点◎出发驶向右下角终点▲,其坐标为($N$,$N$)。在若干个网格交叉点处,设置了油库,可供汽车在行驶途中加油。汽车在行驶过程中应遵守如下规则:

(1)汽车只能沿网格边行驶,装满油后能行驶$K$ 条网格边。出发时汽车已装满油,在起点与终点处不设油库。

(2)汽车经过一条网格边时,若其$X$ 坐标或$Y$ 坐标减小,则应付费用B,否则免付费用。

(3)汽车在行驶过程中遇油库则应加满油并付加油费用$A$。

(4)在需要时可在网格点处增设油库,并付增设油库费用C(不含加油费用$A$)。

(5)(1)~(4)中的各数$N$、$K$、$A$、$B$、$C$均为正整数,且满足约束:$2 <= N <= 100$,$2 <= K <= 10$。

设计一个算法,求出汽车从起点出发到达终点的一条所付费用最少的行驶路线。

【输入格式】

第一行是$N$,$K$,$A$,B,C的值。

第二行起是一个$N$*$N$ 的$0/1$ 方阵,每行$N$ 个值,至$N+1$ 行结束。

方阵的第$i$ 行第$j$ 列处的值为$1$ 表示在网格交叉点($i$,$j$)处设置了一个油库,为$0$ 时表示未设油库。各行相邻两个数以空格分隔。

【输出格式】

输出最小费用。

【样例输入】

9 3 2 3 6
0 0 0 0 1 0 0 0 0
0 0 0 1 0 1 1 0 0
1 0 1 0 0 0 0 1 0
0 0 0 0 0 1 0 0 1
1 0 0 1 0 0 1 0 0
0 1 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0 1
1 0 0 1 0 0 0 1 0
0 1 0 0 0 0 0 0 0

【样例输出】

12