最短路计数
题号:NC50377
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

给出一个N个顶点M条边的无向无权图,顶点编号为。问从顶点1开始,到其他每个点的最短路有几条。

输入描述:

第一行包含2个正整数N,M,为图的顶点数与边数。
接下来M行,每行两个正整数x,y,表示有一条顶点x连向顶点y的边,请注意可能有自环与重边。

输出描述:

输出N行,每行一个非负整数,第i行输出从顶点1到顶点i有多少条不同的最短路,由于答案有可能会很大,你只需要输出后的结果即可。如果无法到达顶点i则输出0。
示例1

输入

复制
5 7
1 2
1 3
2 4
3 4
2 3
4 5
4 5

输出

复制
1
1
1
2
4

说明

1到5的最短路有4条,分别为2条1 \rightarrow2 \rightarrow4 \rightarrow5和2条1 \rightarrow3 \rightarrow4 \rightarrow5(由于4 \rightarrow5的边有2条)。

备注:

对于的数据,
对于的数据,
对于的数据,