朋友圈 簡單並查集

2021-09-24 07:39:33 字數 850 閱讀 3827

班上有 n 名學生。其中有些人是朋友,有些則不是。他們的友誼具有是傳遞性。如果已知 a 是 b 的朋友,b 是 c 的朋友,那麼我們可以認為 a 也是 c 的朋友。所謂的朋友圈,是指所有朋友的集合。

給定乙個 n * n 的矩陣 m,表示班級中學生之間的朋友關係。如果mi = 1,表示已知第 i 個和 j 個學生互為朋友關係,否則為不知道。你必須輸出所有學生中的已知的朋友圈總數。

示例 1:

輸入: 

[[1,1,0],

[1,1,0],

[0,0,1]]

輸出: 2

第2個學生自己在乙個朋友圈。所以返回2。

複製**

示例 2:

輸入: 

[[1,1,0],

[1,1,1],

[0,1,1]]

輸出: 1

複製**

注意:

n 在[1,200]的範圍內。

對於所有學生,有mi = 1。

如果有mi = 1,則有mj = 1。

class solution 

if( x != p )

}return p;

}public void union(int i , int j )

public int findcirclenum(int m)

for( int i = 0 ; i < n; i++ )}}

int res = 0;

for( int i = 0 ; i < n ; i++ )

} return res;

}}複製**

PAT 朋友圈(並查集)

某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...

5 9 朋友圈 (並查集)

某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...

PTA朋友圈 並查集

某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...