題目鏈結
題目分析:
(略)解題思路:
找出結點共組成幾個集合,輸出集合數-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 測試輸入包含若干測試用例。...