ShovelingLife 2022. 8. 11. 23:50
#include <iostream>
#include <vector>

using namespace std;

bool vis[1000]{false};

void dfs(vector<vector<int>> computers, int start) 
{
    vis[start] = true;

    for (int i = 0; i < computers[start].size(); i++) 
    {
        if (!vis[i] && 
            computers[start][i]) 
            dfs(computers, i);
    }
}

int solution(int n, vector<vector<int>> computers)
{
    int answer = 0;

    for (int i = 0; i < n; i++)
    {
    	if(!vis[i])
        {
            dfs(computers, i);
            answer++;
        }
    }
    return answer;
}