並查集的應用2
//並查集
//樹的概念來理解,如果兩個點,他們的根節點相同,
//那麼他們在一個集合中。
#include<iostream>
using namespace std;
//n個小朋友,輸入是朋友的編號,朋友關係可以傳遞。輸出最大集合個數,集合內,任意兩個人都是朋友。
int tree[1000];
int sum[1000];//儲存根節點下子孫節點個數。
int findroot(int x)//尋根函式。
{
if(tree[x]==-1) return x;
else
{
int temp=findroot(tree[x]);
tree[x]=temp;
return temp;
}
}
int main()
{
int n;
cin>>n;//n個小朋友。
for(int i=1;i<=n;i++)
{
tree[i]=-1;//初始化為根節點。
sum[i]=1;
}
int a,b;
for(int i=1;i<=n;i++)
{
cin>>a>>b;//ab互為朋友。
a=findroot(a);
b=findroot(b);
if(a!=b)
{root[a]=b;
sum[b]+=sum[a];
sum[a]=0;
}
}
ans=0;
for(int i=1;i<=n;i++)
{
if(tree[i]==-1&&ans<sum[i]) ans=sum[i];
}
cout<<ans;//輸出最大的聯通圖的節點數。
return 0;
}
相關文章
- 並查集應用並查集
- 並查集深度應用並查集
- 並查集的簡單應用並查集
- 並查集(二)並查集的演算法應用案例上並查集演算法
- 並查集擴充套件應用並查集套件
- 並查集經典應用場景並查集
- 【學習筆記】並查集應用筆記並查集
- 【帶權並查集】理論和應用並查集
- 並查集在實際問題中的應用並查集
- 【並查集】【帶偏移的並查集】食物鏈並查集
- 並查集到帶權並查集並查集
- 並查集(一)並查集的幾種實現並查集
- 並查集的使用並查集
- 查並集
- 2-4 朋友圈【並查集】並查集
- 並查集演算法Union-Find的思想、實現以及應用並查集演算法
- 並查集(小白)並查集
- [leetcode] 並查集(Ⅱ)LeetCode並查集
- [leetcode] 並查集(Ⅲ)LeetCode並查集
- [leetcode] 並查集(Ⅰ)LeetCode並查集
- 3.1並查集並查集
- L2-013 紅色警報【並查集】並查集
- 寫模板, 並查集。並查集
- 並查集跳躍並查集
- 各種並查集並查集
- 淺談並查集並查集
- 食物鏈(並查集)並查集
- 並查集(Union Find)並查集
- The Door Problem 並查集並查集
- 並查集練習並查集
- 簡單易懂的並查集演算法以及並查集實戰演練並查集演算法
- BZOJ 1997: [Hnoi2010]Planar 2-SAT+並查集並查集
- Soso 的並查集寫掛了並查集
- 並查集題目合集並查集
- 並查集java實現並查集Java
- 【轉】種類並查集並查集
- The Suspects-並查集(4)並查集
- 並查集擴充套件並查集套件