認老鄉
大學的同學來自全國各地,對於遠離家鄉步入陌生大學校園的大一新生來說,碰到老鄉是多麼激動的一件事,於是大家都熱衷於問身邊的同學是否與自己同鄉,來自新疆的小賽尤其熱衷。但是大家都不告訴小賽他們來自**,只是說與誰同鄉,從所給的資訊中,你能告訴小賽有多少人確定是她的同鄉嗎?
輸入
每個測試例項首先包括2個整數,n(1 <= n <= 1000),m(0 <= m <= n*(n-1)/2),代表現有n個人(用1~n編號)和m組關係;
在接下來的m行裡,每行包括2個整數,a,b,代表a跟b是同鄉;
當n = 0,m = 0輸入結束;
已知1表示小賽本人。
樣例輸入
3 12 35 4
1 23 4
2 53 2
0 0輸出
對於每個測試例項,輸出乙個整數,代表確定是小賽同鄉的人數。
樣例輸出04
時間限制
c/c++語言:1000ms其它語言:3000ms
記憶體限制
c/c++語言:65536kb其它語言:589824kb
1 #include 2 #include3int pre[1050];4
int t[1050];5
6int find(intx)7
19return
r;20}21
22void mix(int x,int
y)2329}
3031
intmain()
3245
for(j=1;j<=m;j++)//
讀入資料進行合併
4650
int temp = pre[1];//
第乙個節點的老大
51for(int s = 1;s<=n;s++)
5255
for(k = 2;k<=n;k++)
5660 t[total] =sum;61}
62//
將結果存起來,存到t[1050]裡
本小白新學習了並查集,資料分享如下:
覺得很不錯吖~~
並查集 並查集
本文參考了 挑戰程式設計競賽 和jennica的github題解 陣列版 int parent max n int rank max n void init int n int find int x else void union int x,int y else 結構體版 struct node ...
找朋友並查集裸題
找朋友 並查集用來合併兩個不相交的集合 主要找根,需要路徑優化 合併的時候按秩合併 ac include using namespace std const int maxn 5e4 int parent maxn rank1 maxn int m,n,p struct frda maxn b ma...
F 找朋友(裸並查集)
description 你要是願意,我就永遠存在 某人的朋友圈實在是過於龐大且複雜,要判斷兩個人是不是朋友,那還真不容易。現給出某個朋友圈關係圖,求任意給出的兩個人是否是朋友。規定 如果x和yy是朋友,y和z是朋友,那麼x和z也是朋友。如果x和y是朋友,那麼x的朋友都是y的朋友,y的朋友也都是x的朋...