有N个同学,他们之间有些是朋友,有些不是。“友谊”是可以传递的,例如A和B是朋友,B和C是朋友,那么A与C也是朋友;朋友圈就是完成“友谊”传递后的一组朋友。给定N*N的矩阵代表同学间是否是朋友,如果M[i][j]=1代表第i个学生与第j个学生是朋友,否则不是。求朋友圈的个数。
例如:
Input:
[[1,1,0],
[1,1,0],
[0,0,1]]
Output:2
Input:
[[1,1,0],
[1,1,1],
[0,1,1]]
Output:1
#include <vector>
void DFS_graph(int u, std::vector<std::vector<int>>& graph, std::vector<int>& visit)
{
visit[u] = 1;
for (int i = 0; i < graph[u].size(); i