ACM HDU 1232 暢通工程 並查集

2021-08-20 17:03:31 字數 789 閱讀 2377

題目鏈結

題目分析:

(略)解題思路:

找出結點共組成幾個集合,輸出集合數-1即為需要修建的道路條數。

使用並查集。

ac程式(c++):

/**************************

*@author: 3stone

*@acm: hdu.1232 暢通工程

*@time: 18/6/12

*@ide: vs code

***************************/

#include

#include

#include

#define maxn 1005

using

namespace

std;

int far[maxn]; //並查集

//初始化

void initiate(int n)

//查詢根節點(迭代版)

int find_root(int a)

return root;

} //合併集合

void union(int a, int b)

int main() //for - i

//統計集合數

sum_of_set = 0;

for(int i = 1; i <= n; i++)

printf("%d\n", sum_of_set - 1); //集合數

}//while

return

0;}

ACM hdu 1232 暢通工程(並查集)

某省調查城鎮交通狀況,得到現有城鎮道路統計表,表中列出了每條道路直接連通的城鎮。省 暢通工程 的目標是使全省任何兩個城鎮間都可以實現交通 但不一定有直接的道路相連,只要互相間接通過道路可達即可 問最少還需要建設多少條道路?測試輸入包含若干測試用例。每個測試用例的第1行給出兩個正整數,分別是城鎮數目n...

HDU 1232 暢通工程(並查集)

題意 有n個城鎮,已經現在已經有m條道路,每條道路連線兩個城鎮 可以重複連線 目標是使任意兩個城鎮間都可以實現交通 不一定有直接的道路相連,只要互相間接通過道路可達即可 求最少還需要建設多少條道路。本題看上去像圖的連通性問題,和圖論有關,但是其實不必用圖論的那些演算法解決。說這話是因為這是並查集配的...

並查集 HDU 1232 暢通工程

problem description 某省調查城鎮交通狀況,得到現有城鎮道路統計表,表中列出了每條道路直接連通的城鎮。省 暢通工程 的目標是使全省任何兩個城鎮間都可以實現交通 但不一定有直接的道路相連,只要互相間接通過道路可達即可 問最少還需要建設多少條道路?input 測試輸入包含若干測試用例。...