圍巾的糾結
description
小破想要織一條圍巾,可是她並不擅長於織圍巾。由於工作太忙,每天她都只能織一點。為了快速的織完圍巾,她決定直接把毛線球連在一起。圍巾上有球球還是非常可愛的嘛~
於是小破去商店買了n個毛線球。每天晚上睡覺之前,她就抽出一點時間,把其中兩個原本分開的毛線球織在一起。由於是睡覺之前幹活,人太困了,過了m天之後,她發現自己完全織亂了,於是她決定拆掉重織。可是由於她的織法過於特殊,她發現,一旦幾個毛線球被織成了乙個圈,就不能完好的解開了。現在她想知道,她還能把這條"圍巾"還原嗎?
input
多組測試資料
每組測試資料第一行有兩個整數n,m(1 <= n <= 10000, 1 <= m <= 1000000)
接下來有m行,每行有兩個數a,b,表示將a和b號毛球織到一起。
output
對於每組測試資料,如果她能還原,則輸出」yes」, 否則輸出」no」
sample input
5 4
1 2
2 3
3 1
1 4
5 4
1 2
2 3
3 4
4 5sample output
no yes
#include
int father[10005];
int v1[1000005],v2[1000005];
int m,n;
void chuhua()
}int getfather(int x)
father[x]=a;
return father[x];
}void mix(int x,int y)
}int main()
for(i=0;iif(getfather(v1[i])==getfather(v2[i]))
mix(v1[i],v2[i]);
}if(p==0)
else
}return
0;}
題目傳送門:圍巾的糾結ieee點此可交題 初學並查集 並查集1
現在,我是用乙個初學者的眼光來寫並查集,此文最初寫於我學並查集的那天,後經過多次修改。1 並查集是什麼 並查集是乙個具有多個連通分支的圖,他擁有合併兩個連通分支,和查詢兩個元素是否位於同乙個連通分支的功能。2 並查集的簡單應用 並查集解決什麼問題 假如有一些點,你知道哪些點是直接相連的,但實際上間接...
並查集初學
並查集是一種樹型的資料結構,用於處理一些不相交集合的合併及查詢問題。並查集的思想是用乙個陣列表示了整片森林 parent 樹的根節點唯一標識了乙個集合,我們只要找到了某個元素的的樹根,就能確定它在哪個集合裡。並查集用在一些有 n 個元素的集合應用問題中,我們通常是在開始時讓每個元素構成乙個單元素的集...
並查集初學(1)
出處 github 並查集 union find sets 是一種非常精巧而實用的資料結構,它主要用於處理一些不相交集合的合併問題。一些常見的用途有求連通子圖 求最小生成樹的 kruskal 演算法和求最近公共祖先 least common ancestors,lca 等。使用並查集時,首先會存在一...