最短路上的統計 Floyd

2021-08-17 03:16:25 字數 912 閱讀 1074

description

乙個無向圖上,沒有自環,所有邊的權值均為1,對於乙個點對(a,b),我們要把所有a與b之間所有最短路上的點的總個數輸出。

input

第一行n,m,表示n個點,m條邊

接下來m行,每行兩個數a,b,表示a,b之間有條邊

在下來乙個數p,表示問題的個數

接下來p行,每行兩個數a,b,表示詢問a,b

output

對於每個詢問,輸出乙個數c,表示a,b之間最短路上點的總個數

sample input

5 6

1 2

1 3

2 3

2 4

3 5

4 5

3 2 5

5 1

2 4sample output

4 3

2hint

範圍:n<=100,p<=5000

. .

. . .分析

應該預處理a陣列,將權值設為無窮大

然後讀入題目中的p組問題

用迴圈類似於floyd那樣過一次就好了(能匹配上的+1)

. .

. .

.程式:

#include 

using

namespace

std;

int a[101][101],n,p,ans,m;

int main()

for (int k=1;k<=n;k++)

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

for (int j=1;j<=n;j++)

if (a[i][k]+a[k][j]cin>>p;

for (int i=1;i<=p;i++)

Vijos 最短路上的統計 Floyd

乙個無向圖上,沒有自環,所有邊的權值均為1,對於乙個點對 a,b 我們要把所有a與b之間所有最短路上的點的總個數輸出。第一行n,m,表示n個點,m條邊 接下來m行,每行兩個數a,b,表示a,b之間有條邊 在下來乙個數p,表示問題的個數 接下來p行,每行兩個數a,b,表示詢問a,b 對於每個詢問,輸出...

最短路上的統計

乙個無向圖上,沒有自環,所有邊的權值均為1,對於乙個點對 a,b 我們要把所有a與b之間所有最短路上的點的總個數輸出。第一行n,m,表示n個點,m條邊 接下來m行,每行兩個數a,b,表示a,b之間有條邊 在下來乙個數p,表示問題的個數 接下來p行,每行兩個數a,b,表示詢問a,b 對於每個詢問,輸出...

最短路上的統計 Floyed

description 乙個無向圖上,沒有自環,所有邊的權值均為1,對於乙個點對 a,b 我們要把所有a與b之間所有最短路上的點的總個數輸出。input 第一行n,m,表示n個點,m條邊 接下來m行,每行兩個數a,b,表示a,b之間有條邊 在下來乙個數p,表示問題的個數 接下來p行,每行兩個數a,b...