最短路径计数
时间限制:1秒 内存限制:256M
【题目描述】
给出 \(n\) 个顶点(编号为 \(1..n\)),\(m\) 条无向边的带权图,请计算 \(s\) 到 \(t\) 的最短路径数目(只要有一条边不同,就是两条不同的路径)。
【输入格式】
第一行包含四个整数:\(n,m,s,t\),表示图的顶点数目,无向边的数目,以及出发点s和终点t。
接下来的 \(m\) 行,每行包含 3 个整数:\(a,b,c((1 ≤ a, b ≤ n)\),表示一条无向边关联的顶点为 \(a,b\),边的权值为 \(c\)。
【输出格式】
一个整数,表示 \(s\) 到 \(t\) 的最短路径数目,数目可能很大,请输出 \(mod 20080814\) 后的结果。
【输入输出样例】
Input
5 5 1 3
1 2 1
2 3 3
1 4 2
4 3 2
5 1 4
4 5 1
Output
2
【数据限制】
对于 \(30\%\) 的数据,\(1≤n≤10\),\(1≤m≤50\)。
对于 \(50\%\) 的数据,\(1≤n≤200\),\(1≤m≤10000\)。
对于 \(100\%\) 的数据,\(1≤n≤10000\),\(1≤m≤499500\)。
【来源】
Mr.he