SSLOJ1500 最短路上的統計

2021-10-13 19:21:59 字數 1081 閱讀 2742

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

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

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

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

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

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

5 61 2

1 32 3

2 43 5

4 53

2 55 1

2 4432

floyd求最短路(不會不會吧,不會的參考該題

對於任意2個點對,顯然,當dis

[x][

i]+d

is[i

][y]

=dis

[x][

y]

dis[x][i]+dis[i][y]=dis[x][y]

dis[x]

[i]+

dis[

i][y

]=di

s[x]

[y]時,顯然i是x到y的最短路的點之一。

那麼,我們對於每乙個點對,列舉i,統計成立的個數輸出

code:

#include

#include

#include

using

namespace std;

int a[

205]

[205];

int n,m;

intf

(int x,

int y)

intmain()

for(

int i=

1;i<=n;i++

)for

(int j=

1;j<=n;j++

)for

(int k=

1;k<=n;k++)}

}}int q;

cin>>q;

for(

int i=

0;i)return0;

}

SSL 1500最短路上的統計

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

最短路上的統計

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

最短路上的統計 Floyd

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