資料結構實驗 連通分量個數

2021-09-26 03:26:31 字數 1276 閱讀 8576

problem description

在無向圖中,如果從頂點vi到頂點vj有路徑,則稱vi和vj連通。如果圖中任意兩個頂點之間都連通,則稱該圖為連通圖,

否則,稱該圖為非連通圖,則其中的極大連通子圖稱為連通分量,這裡所謂的極大是指子圖中包含的頂點個數極大。

例如:乙個無向圖有5個頂點,1-3-5是連通的,2是連通的,4是連通的,則這個無向圖有3個連通分量。

input

第一行是乙個整數t,表示有t組測試樣例(0 < t <= 50)。每個測試樣例開始一行包括兩個整數n,m,(0 < n <= 20,0 <= m <= 200)

分別代表n個頂點,和m條邊。下面的m行,每行有兩個整數u,v,頂點u和頂點v相連。

output

每行乙個整數,連通分量個數。

sample input

23 1

1 23 2

3 21 2

sample output21

hint

source

czac**:易理解的**

#include

int f[

5000];

//表示『首領』的陣列

intgetf

(int u)

//獲取u的『首領』

void

merge

(int u,

int v)

//鏈結函式

}int

main()

for( i =

1;i<= m;i++

) sum =0;

//統計最後有多少幫派

for(i =

1;i <= n;i++

)printf

("%d\n"

,sum);}

return0;

}c++**:

#include

//自己寫的**

#include

using namespace std;

int f[

500]

;int

find

(int u)

void

merge

(int u,

int v)

intmain()

sum=0;

for(i=

1;i<=n;i++

)printf

("%d\n"

,sum);}

return0;

}

資料結構實驗 連通分量個數

在無向圖中,如果從頂點vi到頂點vj有路徑,則稱vi和vj連通。如果圖中任意兩個頂點之間都連通,則稱該圖為連通圖,否則,稱該圖為非連通圖,則其中的極大連通子圖稱為連通分量,這裡所謂的極大是指子圖中包含的頂點個數極大。例如 乙個無向圖有5個頂點,1 3 5是連通的,2是連通的,4是連通的,則這個無向圖...

資料結構實驗 連通分量個數

在無向圖中,如果從頂點vi到頂點vj有路徑,則稱vi和vj連通。如果圖中任意兩個頂點之間都連通,則稱該圖為連通圖,否則,稱該圖為非連通圖,則其中的極大連通子圖稱為連通分量,這裡所謂的極大是指子圖中包含的頂點個數極大。例如 乙個無向圖有5個頂點,1 3 5是連通的,2是連通的,4是連通的,則這個無向圖...

資料結構實驗 連通分量個數

time limit 1000ms memory limit 65536k 有疑問?點這裡 在無向圖中,如果從頂點vi到頂點vj有路徑,則稱vi和vj連通。如果圖中任意兩個頂點之間都連通,則稱該圖為連通圖,否則,稱該圖為非連通圖,則其中的極大連通子圖稱為連通分量,這裡所謂的極大是指子圖中包含的頂點個...