最短路计数

【题目描述】

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

【输入描述】

输入第一行包含2个正整数N、M,为图的顶点数与边数;

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

【输出描述】

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

【输入样例】
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 --> 2 --> 4 --> 5和2条1 --> 3 --> 4 --> 5(由于4 --> 5的边有2条)。

对于20%的数据,N ≤ 100;

对于60%的数据,N ≤ 1000;

对于100%的数据,N ≤ 100000,M ≤ 200000。

原文地址:https://www.cnblogs.com/Ackermann/p/5803904.html