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...