簡單說一下,這道題就是基礎的bfs+dfs兩次搜尋。
不過相較於搜尋的模板題,這道題還是要求你掌握搜尋的過程和原理,bfs還好說,如果不是乙個聯通集的話,那他肯定不是一所有點都連在一起的,就再進行bfs,dfs也一樣。**如下:
#include
using namespace std;
const int maxn=20;
int n,m,mp[maxn]
[maxn],visit[maxn]
;void dfs(int x)
}int main(
) for(int i=0;i
if(!visit[i])"
<
} memset(visit,0,sizeof visit)
; queueq;
for(int i=0;i
if(!visit[i]
) cout<<
" "<
q.pop();
} cout<<
" }"
<
}}
5 1 列出連通集 25分
5 1 列出連通集 25分 給定乙個有n n個頂點和e e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數nn 0 010 和ee 分別是圖的頂點數和邊數。隨後e ...
7 77 列出連通集(25 分)
7 77 列出連通集 25 分 給定乙個有 n個頂點和 e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。輸入第1行給出2個整數n 010 和e 分別是圖的頂點數和邊數。隨後 e行,每行給出一...
7 3 列出連通集(25 分)
n個頂點和 e條邊的無向圖,請用dfs和bfs分別列出其所有的連通集。假設頂點從0到n 1編號。進行搜尋時,假設我們總是從編號最小的頂點出發,按編號遞增的順序訪問鄰接點。n 010 和 e,分別是圖的頂點數和邊數。隨後 e行,每行給出一條邊的兩個端點。每行中的數字之間用1空格分隔。v 1 v 2 v...