CF1650G.Counting Shortcuts
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Given an undirected connected graph with n vertices and m edges. The graph contains no loops (edges from a vertex to itself) and multiple edges (i.e. no more than one edge between each pair of vertices). The vertices of the graph are numbered from 1 to n.
Find the number of paths from a vertex s to t whose length differs from the shortest path from s to t by no more than 1. It is necessary to consider all suitable paths, even if they pass through the same vertex or edge more than once (i.e. they are not simple).
Graph consisting of 6 of vertices and 8 of edges
For example, let n=6, m=8, s=6 and t=1, and let the graph look like the figure above. Then the length of the shortest path from s to t is 1. Consider all paths whose length is at most 1+1=2.
- 6→1. The length of the path is 1.
- 6→4→1. Path length is 2.
- 6→2→1. Path length is 2.
- 6→5→1. Path length is 2.
There is a total of 4 of matching paths.
给定一个包含 n 个顶点和 m 条边的无向连通图。该图不含自环(即不存在从一个顶点指向其自身的边)和重边(即任意两个顶点之间至多只有一条边)。图中顶点编号为 1 到 n。
求从顶点 s 到顶点 t 的路径数目,使得这些路径的长度与 s 到 t 的最短路径长度之差不超过 1。需考虑所有满足条件的路径,即使它们多次经过同一顶点或同一条边(即这些路径不一定是简单路径)。
包含 6 个顶点和 8 条边的图
例如,设 n=6,m=8,s=6,t=1,且图如上图所示。则 s 到 t 的最短路径长度为 1。现考虑所有长度不超过 1+1=2 的路径:
- 6→1:路径长度为 1。
- 6→4→1:路径长度为 2。
- 6→2→1:路径长度为 2。
- 6→5→1:路径长度为 2。
共有 4 条满足条件的路径。
输入格式
The first line of test contains the number t (1≤t≤104) —the number of test cases in the test.
Before each test case, there is a blank line.
The first line of test case contains two numbers n,m (2≤n≤2⋅105, 1≤m≤2⋅105) —the number of vertices and edges in the graph.
The second line contains two numbers s and t (1≤s,t≤n, s=t) —the numbers of the start and end vertices of the path.
The following m lines contain descriptions of edges: the ith line contains two integers ui, vi (1≤ui,vi≤n) — the numbers of vertices that connect the ith edge. It is guaranteed that the graph is connected and does not contain loops and multiple edges.
It is guaranteed that the sum of values n on all test cases of input data does not exceed 2⋅105. Similarly, it is guaranteed that the sum of values m on all test cases of input data does not exceed 2⋅105.
测试的第一行包含一个数字 t(1≤t≤104)——测试数据中测试用例的数量。
每个测试用例前有一空行。
每个测试用例的第一行包含两个数字 n,m(2≤n≤2⋅105,1≤m≤2⋅105)——图中顶点数和边数。
第二行包含两个数字 s 和 t(1≤s,t≤n,s=t)——路径的起点和终点顶点编号。
接下来的 m 行描述各条边:第 i 行包含两个整数 ui、vi(1≤ui,vi≤n)——表示第 i 条边所连接的两个顶点编号。保证该图是连通的,且不含自环和重边。
保证所有测试用例中 n 的总和不超过 2⋅105;同理,保证所有测试用例中 m 的总和不超过 2⋅105。
输出格式
For each test case, output a single number — the number of paths from s to t such that their length differs from the length of the shortest path by no more than 1.
Since this number may be too large, output it modulo 109+7.
对于每个测试用例,输出一个整数——即从 s 到 t 的路径数量,这些路径的长度与最短路径长度之差不超过 1。
由于该数值可能过大,请对 109+7 取模后输出。
输入输出样例
输入#1
4 4 4 1 4 1 2 3 4 2 3 2 4 6 8 6 1 1 4 1 6 1 5 1 2 5 6 4 6 6 3 2 6 5 6 1 3 3 5 5 4 3 1 4 2 2 1 1 4 8 18 5 1 2 1 3 1 4 2 5 2 6 5 7 3 8 4 6 4 8 7 1 4 4 7 1 6 6 7 3 8 8 5 4 5 4 3 8 2
输出#1
2 4 1 11
输入解题思路,AI测评打分。不知道怎么写?