並查集,細節
本題要點:
1、並查集裸題:
每次輸出兩個數 x 和 y, 當x 和 y 不屬於同乙個集合,那麼直接合併。
當x 和 y 屬於同乙個集合,說明從 x 到y有兩條不同的路徑。 輸出 no
2、題目注意的地方:當輸入的圖是不連通時,也是不符合要求的。可以用並查集判斷圖的連通。
3、如果只輸入0 0算作一組資料的話答案應該輸出yes
#include
#include
#include
using
namespace std;
const
int maxn =
100010
;int fa[maxn]
;bool vis[maxn]
;int
get(
int x)
bool
merge
(int x,
int y)
else
}int
main()
for(
int i =
1; i < maxn;
++i)
fa[i]
= i;
bool flag =
true
;while
(x !=
0&& y !=0)
scanf
("%d%d"
,&x,
&y);
}int f =
get(st)
;int flag1 =
true
;//判斷是連通圖
for(
int i =
1; i < maxn;
++i)}if
(flag && flag1)
else
}return0;
}/*6 8 5 3 5 2 6 4
5 6 0 0
8 1 7 3 6 2 8 9 7 5
7 4 7 8 7 6 0 0
3 8 6 8 6 4
5 3 5 6 5 2 0 0
-1 -1
*//*
yesyes
no*/
HDU ACM 1272 小希迷宮(並查集)
題目大意 把是房間之間有路的房間編碼放到一組,n個編碼可以分成幾組,並判斷是否滿足 條件一 任何兩個房間只能有一條路連線 條件二 所有房間之間都有路連線 題目解析 運用並查集把有關係的人合併到一組,最後遍歷陣列father i 檢視i根結點是否為他自己 錯誤分析 1.初始化的函式init 中i in...
hdu 1272 小希的迷宮(並查集)
題意 略分析 由於是無向圖且是一棵樹,也就是n個節點,n 1條邊,題目要求是每個定點都是雙連通,也就是所有頂點都在乙個強連通分量裡面,這裡可以使用求ssc的演算法,但是由於十無向圖使用並查集的變成複雜度降低了很多,trick 0 0 no.code include include include i...
HDU 1272 小希的迷宮(並查集)
小希的迷宮 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit go back status description 上次gardon的迷宮城堡小希玩了很久 見problem b 現在她也想設計乙個迷宮讓ga...