/**********************************
題目大意:把是房間之間有路的房間編碼放到一組,n個編碼可以分成幾組,並判斷是否滿足
條件一:任何兩個房間只能有一條路連線;條件二:所有房間之間都有路連線
題目解析:運用並查集把有關係的人合併到一組,最後遍歷陣列father[i],檢視i根結點是否為他自己;
錯誤分析:1. 初始化的函式init()中i#include#pragma comment(linker,"/stack:102400000,102400000")
//必須新增不然就會造成棧溢位;
#define m 100100
using namespace std;
int father[m];
//father[i]為i的父結點,rank[i]為i所屬集合的總元素數
void init()
//初始化,注意此時的函式init()有引數傳遞
}int find(int x)
//查詢根結點
int union(int x,int y,int rank1)
// 合併
return rank1;
}int main()
init();
rank1=0;rank2=0;
int sign[m]=;
sign[x]=sign[y]=1;
rank1=union(x,y,rank1);
while(scanf("%d %d",&x,&y),x!=0||y!=0)
for(i=1;i//判斷是否只有乙個根結點(即全部結點在乙個集合裡,才滿足題目條件之一)
if(rank1==0&&rank2==1)printf("yes\n");
//判斷兩個條件是否都滿足
else printf("no\n");
}return 0;
}
HDU ACM 1272 小希的迷宮 並查集
題目要求有兩個條件 1.在給定圖中無環 2.給定的圖有且僅有有1個連通分支 判斷環 在輸入時判斷點a點b是否有相同的根節點,有相同根節點再加一條直接連通的邊就有環.判斷連通分支數 判斷有幾個跟節點 if father i i view code 1 include 2 using namespace...
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...