#1196. 最短路计数

最短路计数

题目描述

在一张无向无权图中,NN 个顶点的编号是 11 到 NN,图中共有 MM 条边。以顶点 11 为起点,分别求到各顶点的最短路径条数。即使途经的顶点相同,只要经过的边不同,两条路径也应分别计数。

输入格式

第一行是两个正整数 N,MN,M,分别为顶点数和边数。

随后 MM 行,每行是两个正整数 x,yx,y,表示两点之间有一条边。输入可能包含自环,同一对顶点之间也可能有多条边。

输出格式

共输出 NN 行,每行一个非负整数。第 ii 行给出从顶点 11 到顶点 ii 的最短路径条数对 100003100003 取模的结果。不可达的顶点输出 00。

5 7
1 2
1 3
2 4
3 4
2 3
4 5
4 5
1
1
1
2
4

说明/提示

样例说明

从 11 到 55,可以沿 1→2→4→51\to2\to4\to5 或 1→3→4→51\to3\to4\to5 前进。因为 44 和 55 之间有两条边,每种顶点序列都对应两条不同的最短路,总数为 44。

原题的分档数据范围如下。

数据比例 条件
20% 1≤N≤1001\le N\le100
60% 1≤N≤1031\le N\le10^3
100% 1≤N≤106, 1≤M≤2×1061\le N\le10^6,\ 1\le M\le2\times10^6