7 7 六度空間 30分 BFS

2021-10-03 03:14:20 字數 1214 閱讀 6405

pta資料結構與演算法題目集:7-7 六度空間 (30分)

「六度空間」理論又稱作「六度分隔(six degrees of separation)」理論。這個理論可以通俗地闡述為:「你和任何乙個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何乙個陌生人。」如圖1所示。

假如給你乙個社交網路圖,請你對每個節點計算符合「六度空間」理論的結點佔結點總數的百分比。

輸入第1行給出兩個正整數,分別表示社交網路圖的結點數n(1

對每個結點輸出與該結點距離不超過6的結點數占結點總數的百分比,精確到小數點後2位。每個結節點輸出一行,格式為「結點編號:(空格)百分比%」。

10 9
1 22 3

3 44 5

5 66 7

7 88 9

9 10

1: 70.00%

2: 80.00%

3: 90.00%

4: 100.00%

5: 100.00%

6: 100.00%

7: 100.00%

8: 90.00%

9: 80.00%

10: 70.00%

#include

using

namespace std;

const

int n =

1010

;vector<

int> e[n]

;int

bfs(

int u)

;bool vis[n]=;

vis[u]

=true

; depth[u]=1

;while

(!q.

empty()

)}}return cnt;

}int

main()

for(

int i =

1; i <= n; i++

)printf

("%d: %.2f%%\n"

, i,

bfs(i)

*100.0

/ n)

;return0;

}

7 7 六度空間 (30 分)

題目鏈結 這個題用光蒐做,從網上看的,我一開始以為是深搜,寫半天沒寫出來。最後從網上看要用廣搜做,想了半天,還覺得應該用深搜,無奈的我回到我的床上,躺下吃了兩粒花生公尺,仔細思考了一下,就想出來廣搜怎麼做了!沉下心來,坐在電腦面前沒有躺在床上思考的更犀利。我記得以前也有乙個模擬鍊錶的題也是在床上臨睡...

7 7 六度空間 30分

六度空間 理論又稱作 六度分隔 six degrees of separation 理論。這個理論可以通俗地闡述為 你和任何乙個陌生人之間所間隔的人不會超過六個,也就是說,最多通過五個人你就能夠認識任何乙個陌生人。如圖1所示。假如給你乙個社交網路圖,請你對每個節點計算符合 六度空間 理論的結點佔結點...

7 7 六度空間 30分

假如給你乙個社交網路圖,請你對每個節點計算符合 六度空間 理論的結點佔結點總數的百分比。輸入第1行給出兩個正整數,分別表示社交網路圖的結點數n 1對每個結點輸出與該結點距離不超過6的結點數占結點總數的百分比,精確到小數點後2位。每個結節點輸出一行,格式為 結點編號 空格 百分比 10 9 1 22 ...