【问题描述】
给出 n 个顶点(编号为1..n),m 条边的无向无权图,请计算 1 到 n 的最短路径数目(只要有一条边不同,就是两条不同的路径)。
【输入格式】
第一行包含两个整数:n,m,表示图的顶点和边的数目。
接下来的m行,每行包含2个整数:a,b((1 ≤ a, b ≤ n),表示图的一条边关联的顶点为a,b。
【输出格式】
一个整数,表示 1 到 n 的最短路径数目。
【输入样例】
6 9
1 2
1 3
1 4
2 5
2 6
2 3
3 6
4 6
3 5
【输出样例】
3
【数据范围】
n<=50000 , 1<=m<=100000
【来源】
Mr_He原创。
此题是个经典题目,代表了一个经典的算法:使用BFS求无相无权图的最短路径数。
代码如下:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
<