洛谷1144 最短路計數

2022-05-12 13:06:24 字數 1087 閱讀 7570

題目描述

給出乙個n個頂點m條邊的無向無權圖,頂點編號為1~n。問從頂點1開始,到其他每個點的最短路有幾條。

輸入輸出格式

輸入格式:

輸入第一行包含2個正整數n,m,為圖的頂點數與邊數。

接下來m行,每行兩個正整數x, y,表示有一條頂點x連向頂點y的邊,請注意可能有自環與重邊。

輸出格式:

輸出包括n行,每行乙個非負整數,第i行輸出從頂點1到頂點i有多少條不同的最短路,由於答案有可能會很大,你只需要輸出mod 100003後的結果即可。如果無法到達頂點i則輸出0。

輸入輸出樣例

輸入樣例#1: 複製

5 7

1 2

1 3

2 4

3 4

2 3

4 5

4 5

輸出樣例#1: 複製

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<=1000000,m<=2000000。

最短路,僅僅加了乙個判斷是否同為最短路。

#include

using namespace std;

const int maxn=2000000+5;

int n,m,head[maxn],cnt,q[maxn*2+5],dis[maxn];

int ans[maxn];

bool vis[maxn];

struct edgeedge[maxn*2];

inline void add(int bg,int ed)

inline void spfa()

}else

if(dis[edge[i].to]==dis[u]+1)}}

}int main()spfa();

for(register int i=1;i<=n;i++)

return

0;}

洛谷1144 最短路計數

給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。大水題 為了備忘 還是記下來吧 不推方程了,in code 1 2 dijkstra 4 include5 include6 include7 include8 using namespace std ...

洛谷 1144 模板 最短路計數

問題描述 給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。輸入 輸入第一行包含2個正整數n,m,為圖的頂點數與邊數。接下來m行,每行兩個正整數x,y,表示有一條頂點x連向頂點y的邊,請注意可能有自環與重邊。輸出 輸出包括n行,每行乙個非負整數,第i行...

spfa dp 洛谷1144 最短路計數

給出乙個n個頂點m條邊的無向無權圖,頂點編號為1 n。問從頂點1開始,到其他每個點的最短路有幾條。輸入格式 輸入第一行包含2個正整數n,m,為圖的頂點數與邊數。接下來m行,每行兩個正整數x,y,表示有一條頂點x連向頂點y的邊,請注意可能有自環與重邊。輸出格式 輸出包括n行,每行乙個非負整數,第i行輸...