题目
726:ROADS
总时间限制: 1000ms 内存限制: 65536kB
描述
N cities named with numbers 1 … N are connected with one-way roads. Each road has two parameters associated with it : the road length and the toll that needs to be paid for the road (expressed in the number of coins).
Bob and Alice used to live in the city 1. After noticing that Alice was cheating in the card game they liked to play, Bob broke up with her and decided to move away - to the city N. He wants to get there as quickly as possible, but he is short on cash.
We want to help Bob to find the shortest path from the city 1 to the city N that he can afford with the amount of money he has.
输入
The first line of the input contains the integer K, 0 <= K <= 10000, maximum number of coins that Bob can spend on his way.
The second line contains the integer N, 2 <= N <= 100, the total number of cities.
The third line contains the integer R, 1 <= R <= 10000, the total number of roads.
Each of the following R lines describes one road by specifying integers S, D, L and T separated by single blank characters :
S is the source city, 1 <= S <= N
D is the destination city, 1 <= D <= N
L is the road length, 1 <= L <= 100
T is the toll (expressed in the number of coins), 0 <= T <=100
Notice that different roads may have the same source and destination cities.
输出
The first and the only line of the output should contain the total length of the shortest path from the city 1 to the city N whose total toll is less than or equal K coins.
If such path does not exist, only number -1 should be written to the output.
样例输入
5
6
7
1 2 2 3
2 4 3 3
3 4 2 4
1 3 4 1
4 6 2 1
3 5 2 0
5 4 3 2
样例输出
11
翻译
题目:道路
描述:
以数字1命名的N个城市。。。N与单行道相连。每条道路都有两个相关参数:
道路长度和需要支付的道路通行费(以硬币数量表示)。
鲍勃和爱丽丝以前住在城里。在注意到爱丽丝在他们喜欢玩的纸牌游戏中作弊后,
鲍勃和她分手了,决定搬到N市。他想尽快赶到那里,但他缺钱。
我们想帮助Bob找到从城市1到城市N的最短路径,只要他有足够的钱。
输入:
输入的第一行包含整数K,0<=K<=10000,Bob在路上可以花费的最大硬币数。
第二行包含整数N,2<=N<=100,城市总数。
第三行包含整数R,1<=R<=10000,道路总数。
以下R行中的每一行都通过指定由单个空白字符分隔的整数S、D、L和T来描述一条道路:
S是源城市,1<=S<=N
D是目的地城市,1<=D<=N
L是道路长度,1<=L<=100
T是通行费(以硬币数量表示),0<=T<=100
请注意,不同的道路可能有相同的起点和终点城市。
输出:
输出的第一行也是唯一一行应包含从城市1到城市N的最短路径的总长度,N的总通行费小于或等于K硬币。
如果不存在这样的路径,则只应将数字-1写入输出。
代码
#include <bits/stdc++.h>
using namespace std;
const int maxd=numeric_limits<int>::max();//整型数据类型的最大值
struct roads{
//道路
int d,//目标城市 <

最低0.47元/天 解锁文章
738

被折叠的 条评论
为什么被折叠?



