연결 요소의 개수(백준)

박종연·2022년 4월 29일
0

알고리즘문제

목록 보기
11/15

링크텍스트

#include <bits/stdc++.h>
using namespace std;


void dfs(vector <int> connected[],int v, bool visited[]){
    
    visited[v] = true;
    
    for(int i : connected[v]){
    if (visited[i] == false){
        dfs(connected,i,visited);
    }
    }
    
}




int main()
{
    int n,m;
    cin >> n>>m;
    
    int a,b;
    bool visited_dfs[n+1]={false};
    vector <int> connected[n+1];
    
    for(int i =0; i< m;i++){
        cin >> a >>b;
        connected[a].push_back(b);
        connected[b].push_back(a);
    }
    
    for(int i=1;i<=n;i++) sort(connected[i].begin(),connected[i].end(),less<>());
    int count =0;
    
    for (int t=1;t<n+1;t++){
        if (visited_dfs[t]==false){
            
            count +=1;
            dfs(connected,t,visited_dfs);
            
        }
    }
    
    cout << count;
    
    
   return 0;
}```
profile
eat.sleep.code

0개의 댓글

관련 채용 정보