SZ#G8S33. 双重导航

提交4 通过1
通过率25%
时间限制2000ms
内存限制512MiB
    ID: 12062 传统题 2000ms 512MiB 尝试: 4 已通过: 1 难度: 普及+/提高- 上传者: 标签>GESPGESP强化C++c++编程题单源最短路Dijkstra边权重构

题目描述

题目描述

小泽准备从路口 11 驾车前往路口 NN。道路网络共有 NN 个路口和 MM 条单向道路,第 ii 条道路从路口 AiA_i 通往路口 BiB_i

车上安装了两套导航系统。对于同一条道路,第一套导航认为行驶时间是 PiP_i,第二套导航认为行驶时间是 QiQ_i。因此,两套导航各自计算出的最短路线可能不同。

当小泽在某个路口选择一条道路时,如果这条道路不属于第一套导航认可的、从当前路口到终点的一条最短路线,第一套导航就会发出一次警告;第二套导航也按照自己的行驶时间独立判断。如果一条道路同时不被两套导航认可,就会收到两次警告。

小泽只关心警告次数,不要求实际行驶时间最短。请计算他从路口 11 到达路口 NN 的过程中,最少会收到多少次警告。

输入格式

第一行输入两个整数 N,MN,M

接下来 MM 行,第 ii 行输入四个整数 Ai,Bi,Pi,QiA_i,B_i,P_i,Q_i,描述一条单向道路及两套导航给出的行驶时间。

输出格式

输出一个整数,表示从路口 11 到路口 NN 最少收到的警告次数。

5 7
3 4 7 1
1 3 2 20
1 4 17 18
4 5 25 3
1 2 10 1
3 5 4 14
2 4 6 5
1
2 1
1 2 5 7
0

样例说明 #2

只有一条道路可走,而且它同时是两套导航的最短路线,所以不会收到警告。

3 3
1 2 1 10
2 3 1 10
1 3 5 1
1

数据范围与约定

2N1042\le N\le10^41M5×1041\le M\le5\times10^41Ai,BiN1\le A_i,B_i\le N1Pi,Qi1051\le P_i,Q_i\le10^5。保证从路口 11 可以到达路口 NN,输入中的所有数均为整数。