假如已知有n個人和m對好友關係(存於數字r)。如果兩個人是直接或間接的好友(好友的好友的好友…),則認為他們屬於同乙個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。
假如:n = 5 , m = 3 , r = , , },表示有5個人,1和2是好友,2和3是好友,4和5是好友,則1、2、3屬於乙個朋友圈,4、5屬於另乙個朋友圈,結果為2個朋友圈。
輸入:
輸入包含多個測試用例,每個測試用例的第一行包含兩個正整數 n、m,1=輸出:
對應每個測試用例,輸出在這n個人裡一共有多少個朋友圈。
樣例輸入:
5 3
1 22 3
4 53 3
1 21 3
2 30
樣例輸出:
2
1
#include
#include
using
namespace
std;
int pre[10000];
int find(int x)
//下面一些行是路徑壓縮的演算法,把路過去的所有路徑都折騰為直接子節點
int i = x;int j;
while(i!=r)
return r;
}int main()
total = n;
cin>>m;
while(m--)
}cout
0;}
九度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屬於另乙個朋...
九度OJ 朋友圈 並查集
題目描述 假如已知有n個人和m對好友關係 存於數字r 如果兩個人是直接或間接的好友 好友的好友的好友.則認為他們屬於同乙個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。假如 n 5 m 3 r 表示有5個人,1和2是好友,2和3是好友,4和5是好友,則1 2 3屬於乙個朋友圈,4 5屬於另乙個朋...