#A0104. 广度优先搜索【模版】

广度优先搜索【模版】

题目描述

给定一张 nn 个点 mm 条边的无向图,每条边长度为 11 .

给定起点和终点,请求出起点到终点的最短距离,并输出一条从起点到终点的路径,如果有多条路径,任意一条路径都正确。

如果从起点出发无法到达终点,请输出 -1 .

输入格式

第 11 行 , 两个整数 nn 和 mm , nn 表示点数, mm 表示边数;

接下来 mm 行,每行两个整数 aa 和 bb 表示 aa 与 bb 存在一条边。

最后一行两个整数 ss 和 tt , 表示起点和终点。

输出格式

第一行一个整数,表示起点到终点的最短距离。

第二行输出一条起点到终点的路径,格式见样例。

10 14
1 2
1 3
1 4
2 5
3 5
4 6
5 7
5 8
6 8
6 9
7 10
8 10
8 9
9 10
1 10
4
1 2 5 7 10

样例解释

数据代表的图如下:

从 1 到 10 最短距离是 4 ,其中一条路径是:1 -> 2 -> 5 -> 7 -> 10

数据规模与约定

2≤n≤105,2≤m≤3∗n2 \le n \le 10^5, 2 \le m \le 3*n

subtask1subtask1 : 2≤n≤1032 \le n \le 10^3

subtask2subtask2 : 2≤n≤1052 \le n \le 10^5

本题使用 spj :点击下载


类似题目

CSES - 1667 Message Route