參考資訊:
https://blog.csdn.net/navicheung/article/details/135835250
題目:

解答:
void dfs(int **isConnected, int *size, int idx, int *visited)
{
int i = 0;
visited[idx] = 1;
for (i = 0; i < size[idx]; i++) {
if (!visited[i] && isConnected[idx][i]) {
dfs(isConnected, size, i, visited);
}
}
}
int findCircleNum(int** isConnected, int isConnectedSize, int* isConnectedColSize)
{
#define MAX_SIZE 200
int i = 0;
int r = 0;
int visited[MAX_SIZE] = { 0 };
for (i = 0; i < isConnectedSize; i++) {
if (!visited[i]) {
r += 1;
dfs(isConnected, isConnectedColSize, i, visited);
}
}
return r;
}