題目描述
所謂乙個朋友圈子,不一定其中的人都互相直接認識。
現在給出一些人的朋友關係,人按照從 1 到 n 編號在這中間會進行詢問某兩個人是否屬於乙個朋友圈,請你編寫程式,實現這個過程。
輸入
第一行輸入兩個整數 n,m(1≤n≤10000,3≤m≤100000),分別代表人數和運算元。
接下來 m 行,每行三個整 a,b,c(a∈[1,2], 1≤b,c≤n)
當 a=1時,代表新增一條已知資訊,b,c 是朋友
當 a=2 時,代表根據以上資訊,詢問 b,c 是否是朋友
輸出
對於每個 a=2 的操作,輸出『yes』或『no』代表詢問的兩個人是否是朋友關係。
樣例輸入
6 51 1 2
2 1 3
1 2 4
1 4 3
2 1 3
樣例輸出no
yes思路:並查集的簡單應用,無需多言,上**
#include
using
namespace std;
int n;
int father[
10001];
intfind
(int x)
//查詢根結點
intmain()
}return0;
}//宣告father陣列時如果使用動態陣列int * father=new int[n+1];或者intfather(n+1);會超時
C 並查集練習題朋友圈
某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...
九度OJ 朋友圈 並查集
題目描述 假如已知有n個人和m對好友關係 存於數字r 如果兩個人是直接或間接的好友 好友的好友的好友.則認為他們屬於同乙個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。假如 n 5 m 3 r 表示有5個人,1和2是好友,2和3是好友,4和5是好友,則1 2 3屬於乙個朋友圈,4 5屬於另乙個朋...
九度OJ 朋友圈 並查集
題目描述 假如已知有n個人和m對好友關係 存於數字r 如果兩個人是直接或間接的好友 好友的好友的好友.則認為他們屬於同乙個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。假如 n 5 m 3 r 表示有5個人,1和2是好友,2和3是好友,4和5是好友,則1 2 3屬於乙個朋友圈,4 5屬於另乙個朋...